轉載地址:http://blog.csdn.net/stormragewang/article/details/43407471
心得
apache的開源maven插件對我們使用maven進行打包,發布的流程簡化了不少。開源插件幫我們減少了了解詳細流程的工作量,那么同時肯定會帶來熟悉各個插件默認配置的麻煩,以下是最近使用maven插件的一些心得。
- 我們在創建工程是的命名最好遵從maven工程的習慣,尤其是artifactId。雖然你后面可以修改配置文件來修改打包后的jar或war包名,但是使用maven-delpoy-plugin插件時,默認上傳的就是artifactId開頭的,目前我還沒有找到好的解決辦法。
- 網上有介紹使用maven-war-plugin的overlay屬性來合並多個web工程,但是overlay只是合並資源文件,並不能合並web.xml,參考http://java.dzone.com/articles/mavens-war-overlay-what-are。我后來找到了cargo-maven2-plugin插件,其介紹在http://cargo.codehaus.org/Merging+WAR+files。
- 一般常用的插件有:發布jar到私有庫,會用到maven-deploy插件;同時發布源碼會用到maven-source-plugin插件;合並多個web工程會用到cargo-maven-plugin插件。
1、首先在nexus私有庫中創建一個可以上傳jar包的用戶。我先創建了一個角色,再創建一個上傳的用戶,這樣其他項目組的成員可以重用這個角色的配置。
創建用戶
2、在個人maven配置文件中添加該用戶的信息
setting.xml
3、在maven工程的pom.xml配置部署的倉庫,
注意pom.xml和setting.xml中的id屬性要一致
1 <distributionManagement> 2 <repository> 3 <id>packaging-releases</id> 4 <name>Packaging Release Repository</name> 5 <url>http://127.0.0.1:8081/nexus/content/repositories/packaging-release/</url> 6 </repository> 7 <snapshotRepository> 8 <id>packaging-snapshots</id> 9 <name>Packaging Snapshot Repository</name> 10 <url>http://127.0.0.1:8081/nexus/content/repositories/packaging-snapshot/</url> 11 </snapshotRepository> 12 </distributionManagement>
再部署時,就會自動上傳源碼包了
cargo-maven2-plugin插件
當我們需要和並多個war包時,使用cargo-maven2-plugin可以自動幫我們合並web.xml
1、添加cargo-maven2-plugin插件,其中descriptor指向配置文件
2、配置文件src/assemble/merge.xml配置如下
3、使用cargo:uberwar合並這2個war包
輸出日志如下
