[JAVA] Maven 馬份
Maven是一個基於POM的JAVA project automation/management tool. 透過POM可以針對JAVA Project進行build、log跟site(就是建立說明文件), 相當方便的一個玩意.
(1)建立新的project
"mvn archetype:generate"
=> 會以prompt方式要求輸入
archetype(採用哪個project template, 預設99),
version,
groupId(這個project是由哪個組織或公司建立, ex. arc.com.gg),
artifactId(即Project name),
package(就是Java package).
* 下command方式可以用 "mvn archetype:create -DgroupId=apache.org.gg -DartifactId=MyProject -DpackageName=apache.org.package"
(2) mvn 定義了build project的整個lifecycle, 每個stage of lifecycle都稱為一個 build phase (ex. validate, compile, package, install, and deploy). 常用的像 "mvn package", "mvn clean package". (但官網稱build phase為 goal... 可能因為可以一次串接多個phases, 用goals比較適合 = = 算了... 賣弄文字)
(3) 接著作plugins configuration. 我的理解是plugin是為完成goals的tools. lol 不過plugin有兩類: build plugins(放在 <build/>下的)跟reporting plugins(放在<reporting/>).
build plugin 在pom.xml的格式如下
<build>
<plugins>
<plugin>
<groupId>org.apache.mavens.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>YOUR.FULL.CLASS.MAIN.PATH</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
........
</plugins>
</build>
接著就需要去了解有哪些plugins可用, 還有像bundle, compile, jar的plugins裡頭的elements意義了.
Comments
Post a Comment