重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
前面讲过通过Maven原型maven-archetype-archetype来创建自定义Archetype的方法,但是这种方法似乎不太方便验证文件的正确性,这里将使用maven-archetype-plugin插件的create-from-project目标来从一个project中创建archetype
10年积累的网站设计制作、网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有松岭免费网站建设让你可以放心的选择与我们合作。
mvn archetype:generate -DgroupId=com.ultrapower.archetypes -DartifactId=ultra-template-archetype -DarchetypeArtifactId=maven-archetype-quickstart -Dversion=1.0 -DinteractiveMode=false
其中关于添加相关的依赖等这里忽略
mvn archetype:create-from-project
通过该命令,会在target目录下面生成generated-sources/archetype目录,这个就是生成的 archetype。 (同时,generated-sources\archetype\src\main\resources\META-INF\maven下的文件archetype-metadata.xml可能需要调整)
先来看看archetype下的pom.xml都包含些什么内容
4.0.0
com.ultrapower.archetypes
ultra-template-archetype-archetype
1.0
maven-archetype
ultra-template-archetype-archetype
org.apache.maven.archetype
archetype-packaging
3.0.1
maven-archetype-plugin
3.0.1
Parent pom providing dependency and plugin management for applications
built with Maven
http://maven.apache.org
Pivotal
info@pivotal.io
Pivotal Software, Inc.
http://www.spring.io
Apache License, Version 2.0
http://www.apache.org/licenses/LICENSE-2.0
https://github.com/spring-projects/spring-boot/spring-boot-starter-parent/ultra-template-archetype
我们再打开archetype-metadata.xml文件看看里面的内容,并做可能的必要修改【可能默认包含了些你不需要的文件】
src/main/java
**/*.java
**/*.xml
src/main/resources
**/*.xml
**/*.html
src/main/resources
**/*.yml
src/test/java
**/*.java
lib
**/*.jar
boot
**/*.bat
**/*.sh
.settings
**/*.prefs
.classpath
.project
将最后的两项去掉即可满足需要了
.settings
**/*.prefs
.classpath
.project
在此简单说下几个属性的含义(完整的说明参考官网archetype-metadata.xml详解)
1)filtered :被选择的文件是否当做 Velocity 模板来使用(如果是true则可以使用Velocity的表达式,例如用于动态设置包名等)
2)packaged:被拷贝或生成(通过Velocity生成)的文件是否在package属性预先设置的目录结构下进行存放
3)encoding:设置文件的字符编码
mvn install
通过以上操作便会将自定义的archetype安装到maven仓库中,同时会在仓库根目录下的archetype-catalog.xml文件中添加自定义archetype的信息(没有会自动创建该文件)
mvn archetype:generate -DarchetypeGroupId=com.ultrapower.archetypes -DarchetypeArtifactId=ultra-template-archetype-archetype -DarchetypeVersion=1.0 -DgroupId=com.ultrapower.ioss -DartifactId=ultra-template-archetype-test -X
至此,一个新的project便生成
重要:对于某些java和文本文件里面的配置可能需要动态修改,所以需要手动的调整archetype下的文件,在此不再赘述
在安装完成后,在本地仓库的根路径下会生成一个文件“archetype-catalog.xml”,里面便记录了自定义骨架的坐标,例如:
com.ultrapower.archetypes
ultra-template-archetype-archetype
1.0
Parent pom providing dependency and plugin management for applications
built with Maven