如果你想定義一個maven工程模板,有一種很快的方法:
1.定義你開發環境的目錄結構,寫一個pom.xml.
2.使用命令,mvn archetype:create-from-project 創建一個工程模板。
3.在target目錄下執行mvn install.執行完之後你就可以使用你的模板了。
4.執行命令,mvn archetype:generate -DarchetypeCatalog=local就可以開始使用你定義的模板創建工程。
例子:
1.創建目錄結構如下:
Demo
--src
--main
--resources
--test
--webapp
pom.xml
pom.xml內容:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>gDemo</groupId>
<artifactId>demo</artifactId>
<packaging>jar</packaging>
<version>1.0</version>
<name>Maven Quick Start Archetype</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
2.在Demo目錄下執行命令,mvn archetype:create-from-project
3.在創建的target\generated-sources\archetype目錄下執行,mvn install.
到此你的工程模板創建完成。在以後開發中就可以使用它。
4.執行mvn archetype:generate -DarchetypeCatalog=local會看到模板選項,選擇剛纔創建的模板,然後進行下面的設置。
到此恭喜你,成功使用。
江湖上多的是功能華麗的項目原型/骨架生成工具,但最後,反而是功能簡單的Maven Archetypes漸漸有了一統的希望。 無它,先把自己收拾得簡單易用,然後作爲一個江湖大佬(maven)的"官方"小弟,再有另一些江湖大佬(appfuse,strust2,cxf)使用示範一下,就是現在的上位祕訣。
和很多生成工具一樣,Maven Archetypes 的功能就是從Velocity模板中替換變量,並根據package 名擴展一下java文件的目錄結構而已。
Advanced Usage 講解了一個完全的Maven Archetype週期:
* mvn archetype:create-from-project 先從一個已有的項目生成Archetype模板到 target/generated-sources/archetype。
這還是需要程序自己有點小聰明的,要找準package name和變量,將變量轉爲符號,將目錄結構收縮。
* 進到目錄中,mvn install 將Archetype模板安裝到本地maven倉庫裏。
* 在新的目錄中,mvn archetype:generate -DarchetypeCatalog=local ,交互式的輸入項目名,package名等變量,即生成項目。
這裏,2.0 Alpha3版比原來的1.0 Alpha7改進良多,一是有了從已有項目爬出模板來的命令,二是生成項目時有了交互式的輸入,三是控制文件的改進(支持Ant語法批量定義等)。
新的控制文件見META-INF/maven/archetype-metadata.xml ,原來1.0版的文件已經作廢。
控制文件可以新增自己的變量,控制目錄是否需要velocity替換變量,是否需要根據package名擴展目錄樹。
詳見FAQ中的How metadata on an archetype is stored?
有了上面的資料 進行下面的嘗試就很容易了
1 mvn archetype:create-from-project 先從一個已有的項目生成Archetype模板到 target/generated-sources/archetype
2 進入target/generated-sources/archetype
mvn install(將Archetype模板安裝到本地maven倉庫裏。)
3 在新的目錄中,mvn archetype:generate -DarchetypeCatalog=local
會讓你選擇數字 就是項目名稱