1.制作模板项目my-app
此步骤只需要创建好一个想要作为模板的工程即可;
2.由模板项目创建模板并安装到本地
进入上一步的模板项目目录my-app,执行命令:
mvn archetype:create-from-project
好了,target/generated-sources/archetype就是我们要的项目了,把这个文件夹整体拷贝出来,稍微调整archetype目录的内容,比如把一些不必要的工程信息等删除。
修改pom.xml文件的groupId,artifactId,version为你想要的,然后安装到本地:
mvn clean install –DskipTests
3.使用本地模板创建工程
mvn archetype:generate -DarchetypeCatalog=local
选择刚刚创建的模板,几乎瞬间就完成了工程的创建;
One more
1.订制哪些文件会被作为模板
只要我们把文件放到src\main\resources\archetype-resources目录下面,并且在src\main\resources\META-INF\maven\archetype-metadata.xml中进行配置。
比如:我们添加src\main\resources\archetype-resources\.gitignore,然后在archetype-metadata.xml中添加下面内容:
<fileSets>
<fileSet encoding="UTF-8" filtered="true">
<directory></directory>
<includes>
<include>.gitignore</include>
</includes>
</fileSet>
</fileSets>
重新mvn -Dmaven.test.skip=true clean install 再次生成项目,就会在新项目中加入.gitignore文件。其他类似配置,我就不详解了。
2.属性替换
可以在上面的.gitignore加入${pro-to-replace}内容,并且在archetype-metadata.xml中添加内容:
<requiredProperties>
<requiredProperty key="pro-to-replace"/>
</requiredProperties>
我们想这个占位符在实际使用的时候进行替换,这时archetype-metadata.xml中filtered="true"必须配置。
这样如果在生成的向导里会提示我们输入pro-to-replace,当然我们也可以在生成的命令行中用-Dpro-to-replace=XXX进行设置。如果已经设置了,不会提示我们输入。
我们也可以像这样设置默认值:
<requiredProperty key="pro-to-replace">
<defaultValue>pro-to-replace</defaultValue>
</requiredProperty>
当然如果这样,就不会提示你输入属性值,如果不想使用属性值,只有通过-Dpro-to-replace=XXX进行更改。