Maven提供了archetype幫助我們快速構建項目骨架,很便捷。但是,中央倉庫中的archetype版本過於陳舊,構建好項目后,需要修改很多信息,甚是麻煩,那么如何自定義個archetype就顯得很有必要。
自定一個archetype須遵循以下步驟:
1、手工搭建好一個完善的工程;
2、進入工程目錄,保留src和pom.xml,刪除其他文件;
3、執行指令mvn archetype:create-from-project 此時會自動生成target目錄;
4、執行指令cd target/generated-sourced/archetype 切換目錄;
5、執行指令mvn install 那么一個archetype就安裝到本地庫,在Eclipse中就可以被選擇用於構建項目;
================================================
在此過程中可能會出現一個問題,摘錄如下:
1、在windows平台下,執行第三步,拋出如下錯誤
[INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 2.294 s [INFO] Finished at: 2016-09-09T16:03:51+08:00 [INFO] Final Memory: 17M/164M [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:2 .4:create-from-project (default-cli) on project Test03: Error configuring comman d-line. Reason: Maven executable not found at: *\apache-maven-3.3.9\bin\m vn.bat -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit ch.
針對此錯誤,進入apache-maven-3.3.9\bin目錄,拷貝mvn.cmd,重命名為mvn.bat即可。
2、選擇archetype構建web項目時,\WEB-INF\web.xml首行的聲明version="1.0" 也隨着構建時填寫的版本號同時改變。
針對這個問題,在執行第五步之前,進入當前目錄下的 src 目錄,找到web.xml 把第一個${version}變量,改為1.0即可,其他類似XML配置文件同理修改。
3、使用Eclipse構建,發布到中間件中時,訪問路徑還是archetype的路徑,導致以項目名訪問失敗
該問題的解決方案為,在構建archetype的時候,該archetype中的pom.xml文件中的finalName用變量制定,即<finalName>${project.artifactId}</finalName>