MAVEN筆記

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目錄


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章