锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
褰撶劧鎴戜滑涔熷彲浠ョ洿鎺ュ湪pom.xml涓畾涔夛細
鍙﹀filter榪樺彲浠ユ潵鑷郴緇熻緗互鍙婂彲浠ヨ嚜瀹氫箟錛?br /># application.properties
]]>
]]><dependency>
聽聽聽聽聽聽<groupId>com.mycompany.app</groupId>
聽聽聽聽聽聽<artifactId>my-app</artifactId>
聽聽聽聽聽聽<version>1.0-SNAPSHOT</version>
聽聽聽聽聽聽<scope>compile</scope>
</dependency>
涓句緥璇存槑
濡傛灉鎴戜滑鐨刾roject闇瑕佺敤鍒發(fā)og4j鍖咃紝閭d箞鎴戜滑鍙互鍏坓oogle--"site:www.ibiblio.org maven2 log4j".
Index of /maven2/log4j/log4j聽 涓嬮潰鏈塵aven-metadata.xml 鎻忚堪浜唃roupId,artifactId,version絳夌瓑銆?br />鑾峰彇浜嗚繖浜涗俊鎭箣鍚庯紝浣犲氨鍙互鍦╬om.xml涓坊鍔犱緷璧栦簡<dependency>
聽聽聽聽聽聽<groupId>log4j</groupId>
聽聽聽聽聽聽<artifactId>log4j</artifactId>
聽聽聽聽聽聽<version>1.2.12</version>
聽聽聽聽聽聽<scope>compile</scope>
</dependency>
14 濡備綍鍙戝竷鎴戠殑jar鍖呭埌鎴戠殑remote repository
浣犻渶瑕佸湪setting.xml涓棿璁劇疆server<servers>
聽聽聽聽<server>
聽聽聽聽聽聽<id>mycompany-repository</id>
聽聽聽聽聽聽<username>jvanzyl</username>
聽聽聽聽聽聽<!--聽Default聽value聽is聽~/.ssh/id_dsa聽-->
聽聽聽聽 <privateKey>/path/to/identity</privateKey>聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽 聽<passphrase>my_key_passphrase</passphrase>聽聽聽聽</server>
</servers>
<distributionManagement>
聽聽聽聽<repository>
聽聽聽聽聽聽<id>mycompany-repository</id>
聽聽聽聽聽聽<name>MyCompany聽Repository</name>
聽聽聽聽聽<url>scp://repository.mycompany.com/repository/maven2</url>
聽聽聽聽</repository>
聽聽</distributionManagement>
]]>
mvn install
浼氬皢package涔嬪悗鐨刯ar鍖卌opy鍒?br /><local-repository>/com/mycompany/app/my-app/1.0-SNAPSHOT/my-app-1.0-SNAPSHOT.jar
10 鍏朵粬
mvn site
聽娉ㄦ剰錛氳繕鍙互deploy site
聽鍦╬om.xml涓姞鍏?/p>
聽
<
distributionManagement
>
聽聽聽
<
site
>
聽聽聽聽聽
<
id
>
website
</
id
>
聽聽聽
聽聽聽聽聽聽 聽
<
url
>
scp://www.mycompany.com/www/docs/project/
</
url
>
聽聽聽
</
site
>
聽
</
distributionManagement
>
褰撶劧浣犻渶瑕佽緗畇erver
mvn site-deploy
mvn clean
mvn idea:idea [涓篒DE宸ュ叿idea鐢熸垚欏圭洰鏂囦歡]
11 Resource
${basedir}/src/main/resources閮戒細緙栬瘧鍒癹ar鏂囦歡涓?br />鑰?{basedir}/src/main/resources 涓嬬殑鍐呭浼氱洿鎺ヤ綅浜巎ar鏂囦歡鐨勯《閮?br />嫻嬭瘯鐢ㄨ祫婧愭枃浠?> ${basedir}/src/test/resources
寮曠敤鏃跺弬鐓ф渚嬶細
InputStream is = getClass().getResourceAsStream( "/test.properties" );
鏂囦歡浣嶄簬 ${basedir}/src/test/resources/test.properties銆?br />
12 濡備綍filter鎴戜滑鐨勮祫婧愭枃浠?br />鍦╬om.xml涓慨鏀癸細
<
build
>
聽聽聽聽
<
resources
>
聽聽聽聽聽聽
<
resource
>
聽聽聽聽聽聽聽聽
<
directory
>
src/main/resources
</
directory
>
聽聽聽聽聽聽聽聽
<
filtering
>
true
</
filtering
>
聽聽聽聽聽聽
</
resource
>
聽聽聽聽
</
resources
>
聽聽
</
build
>
鍥犱負鍘熸潵榛樿鐨刦ilter涓篺alse鎵浠ヨ鍔犱笂涓婇潰鐨勪唬鐮?br />e.g
鎴戜滑鍦╯rc/main/resources涓嬮潰寤虹珛application.properties鏂囦歡
聽# application.properties
聽application.name=${pom.name}
聽application.version=${pom.version}
榪愯錛歮vn process-resources
鍦╰arget/classes涓嬮潰錛?br />application.properties:
聽# application.properties
聽application.name=Maven Quick Start Archetype
聽application.version=1.0-SNAPSHOT
榪欏氨鏄墍璋撶殑filter.
褰撶劧filter榪樺彲浠ョ敤鍏朵粬鐨勫閮ㄦ枃浠訛紝涓嶄竴瀹氭潵鑷猵om.xml[ ${pom.name} ]浠ュ強setting.xml[ ${settings.localRepository }]
e.g
src/main/filters/filter.properties
聽# filter.properties
聽my.filter.value=hello!
pom.xml
聽聽
<
build
>
聽聽聽聽
<
filters
>
聽聽聽聽聽聽
<
filter
>
src/main/filters/filter.properties
</
filter
>
聽聽聽聽
</
filters
>
聽聽聽聽
<
resources
>
聽聽聽聽聽聽
<
resource
>
聽聽聽聽聽聽聽聽
<
directory
>
src/main/resources
</
directory
>
聽聽聽聽聽聽聽聽
<
filtering
>
true
</
filtering
>
聽聽聽聽聽聽
</
resource
>
聽聽聽聽
</
resources
>
聽聽
</
build
>
# application.properties
application.name=${pom.name}
application.version=${pom.version}
message=${my.filter.value}
榪欐牱鍦ㄨ繍琛宮vn process-resources 浼氬緱鍒扮被浼肩殑鏁堟灉銆?/p>
<
build
>
聽聽聽聽
<
resources
>
聽聽聽聽聽聽
<
resource
>
聽聽聽聽聽聽聽聽
<
directory
>
src/main/resources
</
directory
>
聽聽聽聽聽聽聽聽
<
filtering
>
true
</
filtering
>
聽聽聽聽聽聽
</
resource
>
聽聽聽聽
</
resources
>
聽聽
</
build
>
聽聽
<
properties
>
聽聽聽聽
<
my
.filter.value
>
hello
</
my.filter.value
>
聽聽
</
properties
>
鏁堟灉鍚屾牱錛岃繖鏍峰氨涓嶉渶瑕佸閮ㄦ枃浠朵簡
java.version=${java.version}
command.line.prop=${command.line.prop}
]]>
mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app
棣栧厛錛岀▼搴忎細浠庤繙紼嬩笅杞藉繀瑕佺殑jar鍖呭埌浣犵殑localRepository,鍗蟲垜浠垰鍒氳緗殑[d:/repo]
鐒跺悗錛屼細鍦ㄥ綋鍓嶇洰褰曚笅闈㈢敓鎴恗y-app鏂囦歡澶癸紝鍖呮嫭綆鍗曠殑鍖呯粨鏋刐java,test]鍜屼竴涓狧elloWorld紼嬪簭鍙婃祴璇曘?br/>浠ュ強pom.xml鏂囦歡銆?br/>娉ㄦ剰錛歱om.xml contains the Project Object Model (POM) for this project.
The POM is the basic unit of work in Maven銆?br/>
mvn compile
絎竴嬈¤繍琛屼細涓嬭澆寰堝jar鍖呫傝屼笖鏈哄櫒璐熻嵎浼氬緢閲嶃?br/>榪愯榪欎釜鍛戒護闇瑕佸湪pom.xml鐩稿悓鐩綍涓嬮潰
榪欎釜緙栬瘧鎸囨尌緙栬瘧涓葷▼搴忥紝涓嶄細緙栬瘧test涓嬮潰鐨勭▼搴忋?br/>濡傛灉闇瑕佸崟鐙紪璇憈est,璇瘋繍琛?mvn test-compile
compile涔嬪悗浼氱敓鎴恡arget鏂囦歡澶癸紝涓葷▼搴忕紪璇戝湪classes涓嬮潰錛屾祴璇曠▼搴忔斁鍦╰est-classes涓?br/>
mvn test. 浼氳嚜鍔ㄥ厛緙栬瘧鍦ㄨ繍琛屾祴璇?br/>
mvn package
鎵撳寘涔嬪墠浼氳繘琛岀紪璇戯紝嫻嬭瘯
]]>
Project - pom.xml錛岄拡瀵規(guī)煇涓」鐩殑閰嶇疆
Installation
User -閽堝鏌愪釜鐢ㄦ埛鐨勯厤緗?br />
淇敼涔嬪悗copy涓浠藉埌${home}/.m2 [鏈鏂扮増鏈笉闇瑕佹姝ラ]