-
-
- pom.xml的jar包依賴、插件配置,保留最小依賴集
- Spring、Struts2、mybatis配置
- log4j.xml
-

<build> <finalName>hhyz-archetype-web</finalName> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-archetype-plugin</artifactId> <version>2.2</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.5</source> <target>1.5</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <configuration> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </pluginManagement> </build>
第四步: 從A-min項目中創建maven骨架項目
打開CMD進入命令行,在項目根目錄里執行: mvn archetype:create-from-project。
成功執行完之后,在target/generated-sources/ 下有個archetype目錄,這個就是生成的 archetype。可以看到這個目錄其實就是普通的maven項目,也就是我們最終的骨架模板項目,我們稱之為A-template項目。
有幾個目錄、文件需要說明:
-
-
- src/main/resources/archetype-resources 通過A-template骨架創建的項目包含的所有的文件和目錄都在這個目錄下
- src/main/resource/META-INF/maven/archetype-metadata.xml 此文件是配置文件,告訴archetype插件,archetype-resources里面哪些文件需要包含到創建出的項目里。打開這個文件發現有個fileSets標簽,包含一系列的fileSet標簽。不難發現fileSet就是對archetype-resources下的資源描述。
-
第五步:改造A-template
archetype:create-from-project並非完全智能,需要自己稍加修改
-
-
- 修改pom.xml文件
-
修改packing的值為jar或者war
-
-
- 修改archetype-metadata.xml
-
<requiredProperties> <requiredProperty key="groupId"/> <requiredProperty key="artifactId"/> <requiredProperty key="version"> <defaultValue>1.0.0</defaultValue> </requiredProperty> </requiredProperties>
在fileSets同級下增加requiredProperties標簽。requiredProperties定義模板項目中一些參數值,內置的參數包括:groupId,artifactId,version,package。自己可以提供這些參數的默認值,也可以增加自己額外的參數。大部分情況下,內置的參數足夠用。fileSet標簽有一個filtered=“true”屬性,表示該fileSet可以使用參數變量。在文件中引用參數變量的方式${參數名},例如${package}.通常生成A-template項目時,archetype插件會掃描A-min所有的文件,把需要替換為參數的地方自動替換。畢竟代碼沒有那么智能,有些地方會有問題。所以,我們要檢查每個文件的參數部分是不是我們預期的。增加參數、刪除參數來達到我們的要求。
第六步:部署生成的archetype到本地倉庫
cd進入generated-sourced/archetype目錄,運行maven命令:mvn clean install,到這里我們的模板骨架項目基本完成。
3.使用自定義的模板創建項目
方式一:使用命令行
