概述
使用maven创建项目时,提供的基础的工程太简单不是想要的,并且创建过程很慢,使用起来体验不好。如果可以根据自己的需要,直接创建模板,然后进行类似项目拷贝的工作,那就完美。幸运的是,maven提供了这样的插件,一下就是操作步骤。
步骤
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.订制哪些文件会被作为模板
只要我们把文件放到srcmain esourcesarchetype-resources目录下面,并且在srcmain esourcesMETA-INFmavenarchetype-metadata.xml中进行配置。
比如:我们添加srcmain esourcesarchetype-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进行更改。