MAVEN生命週期:
validate generate-sources process-sources generate-resources process-resources 複製並處理資源文件,至目標目錄,準備打包。 compile 編譯項目的源代碼。 process-classes generate-test-sources process-test-sources
generate-test-resources process-test-resources 複製並處理資源文件,至目標測試目錄。 test-compile 編譯測試源代碼。 process-test-classes test 使用合適的單元測試框架運行測試。這些測試代碼不會被打包或部署。 prepare-package package 接受編譯好的代碼,打包成可發佈的格式,如 JAR 。 pre-integration-test integration-test post-integration-test verify install 將包安裝至本地倉庫,以讓其它項目依賴。 deploy 將最終的包複製到遠程的倉庫,以讓其它開發人員與項目共享。
打jar包時排除某些package
修改pom.xml,新增插件 maven-jar-plugin:
-- 排除哪些文件:
< plugin >
< groupId > org.apache.maven.plugins </ groupId >
< artifactId > maven-jar-plugin </ artifactId >
< version > 2.4 </ version >
< configuration >
< excludes >
< exclude > **/com/bcvet/** </ exclude >
</ excludes >
</ configuration > </ plugin >
-- 或只保留哪些文件:
< plugin >
< groupId > org.apache.maven.plugins </ groupId >
< artifactId > maven-jar-plugin </ artifactId >
< version > 2.4 </ version >
< configuration >
< includes >
< include > **/com/bcvetframework/** </ include >
</ includes >
</ configuration >
</ plugin >
MAVEN分模塊打jar包
將項目 packaging改爲pom:
< packaging > pom </ packaging >
在maven項目下新建module:
修改新建的module的pom.xml ,添加jar插件:
<build>
<sourceDirectory>../src</sourceDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<includes>
<include>**/com/bcvet/base/**</include>
</includes>
</configuration>
</plugin>
</plugins>
<!--配置Maven 對resource文件 打包或過濾 -->
<resources>
<resource>
<directory>../src/main/java</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.sql</include>
<include>**/*.ftl</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
去掉父級工程打包插件:
更新工程,打包:
update project
maven clean package
ECLIPSE編譯發佈注意點:
項目project clean後會自動編譯發佈到java build path定義的輸出目錄
maven compile會編譯發佈到pom中定義的output目錄和target/classes裏。
maven clean會刪除pom中定義的output目錄和target/classed目錄