|
ʲôÊÇmaven?
MavenÊÇÒ»¸öÓÃÓÚÏîÄ¿¹¹½¨µÄ¹¤¾ß£¬Í¨¹ýËü±ã½ÝµÄ¹ÜÀíÏîÄ¿µÄÉúÃüÖÜÆÚ¡£¼´ÏîÄ¿µÄjar°üÒÀÀµ£¬¿ª·¢£¬²âÊÔ£¬·¢²¼´ò°ü¡£
ÏÂÃæÎÒ×Ô¼º×ܽáÒ»ÏÂËüµÄ¼¸¸öÌØµã£¬¿´ÁËÕâÐ©ÌØµã£¬Ò²Ðí¶ÔmavenÓиü¶àµÄÁ˽⡣
1 jar°üÒÀÀµ
Õâ¸öÒ²Ðí»ámaven×îÍ»³öµÄÌØµãÁËʹÓÃmaven²»ÐèÒªÉÏÍøµ¥¶ÀÏÂÔØjar°ü£¬Ö»ÐèÒªÔÚÅäÖÃÎļþpom.xmlÖÐÅäÖÃjar°üµÄÒÀÀµ¹ØÏµ£¬¾Í¿ÉÒÔ×Ô¶¯µÄÏÂÔØjar°üµ½ÎÒÃǵÄÏîÄ¿ÖС£ÕâÑù£¬±ðÈË¿ª·¢»òÕßʹÓÃÕâ¸ö¹¤³Ìʱ£¬²»ÐèÒªÀ´»ØµÄ¿½±´jar°ü£¬Ö»ÐèÒª¸´ÖÆÕâ¸öpom.xml¾Í¿ÉÒÔ×Ô¶¯µÄÏÂÔØÕâЩjar°ü¡£
¶øÇÒ£¬ÎÒÃÇ×Ô¼ºÏÂÔØjar°ü£¬»¹ÓпÉÄÜÔì³É°æ±¾µÄ²»Ò»Ö£¬ÕâÑùÔÚÐͬ¿ª·¢µÄ¹ý³ÌÖоÍÓпÉÄÜÔì³É´úÂëÔËÐеIJ»Ò»Ö¡£Í¨¹ýʹÓÃmaven¾«È·µÄÆ¥Åäjar°ü£¬¾Í²»»á³öÏÖÕâÖÖÎÊÌâÁË¡£
2 ÏîÄ¿×ø±ê
Mavenͨ¹ýÌØ¶¨µÄ±êʶÀ´¶¨ÒåÏîÄ¿Ãû³Æ£¬ÕâÑù¼È¿ÉÒÔΨһµÄÆ¥ÅäÆäËûµÄjar°ü£¬Ò²¿ÉÒÔͨ¹ý·¢²¼£¬Ê¹±ðÈËÄÜʹÓÃ×Ô¼ºµÄ·¢²¼²úÆ·¡£Õâ¸ö±êʶ¾Í±»½Ð×ö×ø±ê£¬³¤µÄÆäʵºÜÆÕͨ£¬¾ÍÊǼòµ¥µÄxml¶øÒÑ£º
1 <groupId> com.test</groupId>
2 <artifactId>maventest</artifactId>
3 <version>0.0.1-SNAPSHOT</version>
4 <packaging>jar</packaging>
5
6 <name>maventest</name>
7 <url>http://maven.apache.org</url>
|
groupId£ºËùÊöµÄÏîÄ¿Ãû³Æ£¬ÓÉÓÚÓеÄÏîÄ¿²¢²»ÊÇÒ»¸öjar°ü¹¹³ÉµÄ£¬¶øÊÇÓɺܶàµÄjar°ü×é³ÉµÄ¡£Òò´ËÕâ¸ögroupId¾ÍÊÇÕû¸öÏîÄ¿µÄÃû³Æ¡£
artifactId£º°üµÄÃû³Æ¡£
version£º°æ±¾ºÅ¡£
packaging£º°üµÄÀàÐÍ£¬Ò»°ã¶¼ÊÇjar£¬Ò²¿ÉÒÔÊÇwarÖ®ÀàµÄ¡£Èç¹û²»ÌĬÈϾÍÊÇjar¡£
nameºÍurl£¬Ò»¸öÊÇÃû³Æ£¬Ò»¸öÊÇmavenµÄµØÖ·¡£Ö÷Òª¾ÍÊÇÉÏÃæµÄ¼¸¸ö²ÎÊý¡£
µ±ÏëÒªÒÀÀµÊ²Ã´jarµÄʱºò¾Í¿ÉÒÔͨ¹ýÏÂÃæµÄ·½Ê½ÒÀÀµ£º
1 <dependencies>
2<dependency>
3<groupId>junit</groupId>
4<artifactId>junit</artifactId>
5<version>3.8.1</version>
6<scope>test</scope>
7</dependency>
8</dependencies>
|
¸÷¸öÊôÐÔµÄÄÚÈÝ»ù±¾É϶¼ÊÇÒ»ÑùµÄ¡£
ÕâÀïҪעÒâµÄÊÇjar°üµÄÃüÃû¹æÔò£º
artifactId-version[-classifier].packaging
±ÈÈçÉÏÃæµÄpom.xmlÉú³ÉµÄjar°üÃû×Ö¾ÍÊÇ£ºmaventest-0.0.1-SNAPSHOT.jar¡£
ÕâÀïµÄclassifierÊÇ¿ÉÑ¡µÄ£¬µ«ÊÇÓеÄÏîÄ¿¿ÉÄÜ»¹ÐèÒªµ¼³ö¸½ÊôµÄһЩÎļþ£¬Èçjavadoc£¬sourceµÈµÈ£¬ÄÇôÕâ¸öµØ·½¾ÍÐèÒªÅäÖÃÒ»¸ö×Ö·û´®¡£Ò»°ã¶¼ÊÇJDKXXXÖ®ÀàµÄ¡£
3 ²âÊÔÇý¶¯
MavenÊDzâÊÔÇý¶¯µÄ¿ª·¢Ë¼Â·£¬Òò´Ë¹¤³Ì´´½¨³õÆÚ£¬¾Í°üº¬Á½¸öÎļþ¼Ð£¬mainºÍtest¡£Ò»¸öÓÃÓÚ·ÅÖÿª·¢µÄjavaÎļþ£¬Ò»¸öÓÃÓÚдtestµ¥Ôª²âÊÔ¡£ÕâÑùÿ´Î¿ª·¢µÄʱºò£¬ÌáǰÉè¼Æµ¥Ôª²âÊÔ£¬¾ÍÄܰïÖú¼õÉÙBUG¡£
ÈçºÎÔÚeclipseÖÐʹÓÃmaven
ÎÒʹÓõÄeclipseÓÐ×Ô´øµÄmaven²å¼þ£¬Òò´ËÖ±½Ó´´½¨¾Í¿ÉÒÔÁË¡£ÕâÀï¾Í²»½éÉÜÈçºÎ°²×°mavenÁË¡£ÏÂÃæ½éÉÜÒ»ÏÂmaven¹¤³ÌµÄ´´½¨£º
1 ÈçºÎ´´½¨maven¹¤³Ì£º
Ö±½Óµã»÷н¨£¬ÔÚÀïÃæ¿ÉÒÔÕÒµ½MavenÑ¡Ï£¬µã»÷Maven Project´´½¨Maven¹¤³Ì

2 Ñ¡ÔñĬÈϵŤ³ÌλÖÃ

3 ´´½¨¹¤³Ì£¬ºìÉ«ÊÇ´´½¨ÆÕͨµÄmaven¹¤³ÌµÄ¡£·ÛÉ«ÊÇ´´½¨web¹¤³ÌµÄ¡£
6 ÌîдÏà¹ØµÄgroupId artifactId versionµÈÐÅÏ¢

µã»÷Íê³É¾Í´´½¨ºÃÁËÒ»¸ö¼òµ¥µÄmaven¹¤³Ì¡£
maven¹¤³ÌÊÇʲôÑù×ӵģ¿
mavenµÄ¹¤³ÌÒ»°ã¶¼ÊÇÈçϵĽṹ£º
first_maven
|-- pom.xml
`-- src
|-- main
| |-- java
| | `-- com
| | `-- test
| | `-- App.java
| `-- resources
| `-- META-INF
| `-- application.properties
`-- test
`-- java
`-- com
`-- test
`-- AppTest.java
|
pom.xml£ºÓÃÓÚ¶¨Òå»òÕßÌí¼Ójar°üµÄÒÀÀµ
src-main£ºÓÃÓÚ´æ·ÅjavaÔ´Îļþ
src-test£ºÓÃÓÚ´æ·Å²âÊÔÓÃÀý¡£
Ò²Ðí¹¤³ÌÏ»¹»á³öÏÖtargetÎļþ¼Ð£¬Õâ¸öÊÇÓÃÀ´Éú³É¶ÔÓ¦µÄclassÎļþ»ò·¢²¼µÄjar°ü¡£
EclipseÖÐmaven³£ÓõÄÃüÁî
µã»÷Run As¾Í¿ÉÒÔ·¢ÏÖ¼¸¸öMavenµÄÃüÁ
Maven Build:
Õâ¸öÃüÁîÓÃÓÚ±àÒëMaven¹¤³Ì£¬Ö´ÐÐÃüÁîºó»áÔÚtargetÎļþ¼ÐÖеÄclassesÖÐÉú³É¶ÔÓ¦µÄclassÎļþ¡£
Maven Clean:
ɾ³ýtargetÎļþ¼Ð£¬¼´É¾³ýÉú³ÉµÄpackage°üÒÔ¼°classµÈÎļþ¡£
Maven Test:
ÏÈ×Ô¶¯½øÐбàÒ룬ÔÚÔËÐÐËùÓеIJâÊÔÓÃÀý¡£
Maven install:
·¢²¼Éú³É¶ÔÓ¦µÄpackage°ü¡£
×¢Ò⣺
ÁôÒâÉÏÃæµÄÃüÁîµÄ×÷Óã¬buildºÍtest¶¼»áÉú³ÉÏàÓ¦µÄclassÎļþ¡£Ò²¾ÍÊÇ˵£¬µ±Äãн¨Ò»¸ömaven¹¤³Ì£¬»òÕßcleanÒ»¸ömaven¹¤³Ìºó£¬Èç¹ûûÓÐʹÓÃÕâÁ½¸öÃüÁֱ½ÓÕë¶ÔÀà½øÐвâÊÔ£¬»áÅܳöjava.class.notfoundµÄ´íÎó¡£ÒòΪ´Ëʱ»¹Ã»ÓбàÒëÉú³ÉclassÎļþ¡£
Ö»ÓÐʹÓÃÁËÉÏÃæµÄÁ½¸öÃüÁîºó£¬²ÅÄÜÕë¶Ôij¸öÀà½øÐе¥Ôª²âÊÔ¡£ |