共计 1892 个字符,预计需要花费 5 分钟才能阅读完成。
Maven ArcheType Plugin
maven-archetype-plugin 是 maven 内置的插件,能够应用原型(archetype)搭建我的项目。
通常咱们创立一个应用 maven 构造的 java 我的项目,须要编写 pom 文件,并且创立一些目录 src/main/java src/main/resource src/test/java,还须要编写一些 java 文件或者配置。不同的我的项目增加的 pom 不同,须要减少的配置也不一样。
这个插件有三个次要的 goal
archetype:create-from-project 把以后我的项目创立成原型
archetype:jar 把原型我的项目打包成 jar
archetype:generate 依据原型我的项目搭建我的项目,也就是最罕用的性能
性能如下图
上面咱们实战一下,三个工作:
- 创立一个我的项目,转换成原型
- 把原型我的项目转换成 jar,并上传上 center repositry
- 应用原型搭建我的项目
创立根本我的项目
第一步,创立一个 maven 我的项目在
quickstart-jdk8
http://github.com/shalk/arche…
第二步,筹备原型的配置文件
在同一级目录
quickstart-jdk8.properties
archetype.groupId=com.xshalk.archetypes
archetype.artifactId=quickstart-jdk8
archetype.version=1.0.0
# archetype.filteredExtensions=java
archetype.languages=java
#an_additional_property=my specific value
执行如下命令,生成原型,到目录 target/generated-sources/archetype
cd quickstart-jdk8
mvn archetype:create-from-project -Darchetype.properties=../quickstart-jdk8.properties
进入原型目录,打包成 jar,并保留到本地仓库
cd target/generated-sources/archetype
mvn install
也能够应用 archetype:jar 间接生成 jar
mvn archetype:jar
上传到 center repositry
sonatype 公司治理着一个凋谢的地方仓库,只有把本人的包传上去,在其余能联网的中央就能间接应用了。
次要分三个步骤
- 去 sonatype 的 jira,注册并申请 groupId,期待通过。
- 批改 pom.xml,减少签名,javadoc,source 等
- 进行公布,snapshot、release
- 登录 sonatype 的 nexus 后盾,点击 release
这个步骤的细节都比拟多,能够参考 这里 或者 局部官网文档
最初公布胜利
<!-- https://mvnrepository.com/artifact/com.github.shalk/archetype-quickstart-jdk8 -->
<dependency>
<groupId>com.github.shalk</groupId>
<artifactId>archetype-quickstart-jdk8</artifactId>
<version>1.0.0</version>
</dependency>
创立新我的项目
mvn archetype:generate -DarchetypeGroupId=com.github.shalk -DarchetypeArtifactId=archetype-quickstart-jdk8 -DarchetypeVersion=1.0.0 -DgroupId=<my.groupid> -DartifactId=<my-artifactId>
mvn archetype:generate -B -DarchetypeGroupId=com.github.shalk -DarchetypeArtifactId=archetype-quickstart-jdk8 -DarchetypeVersion=1.0.0 -DgroupId=com.test -DartifactId=app1 -Dversion=1.0.0-SNAPSHOT
参考
https://maven.apache.org/arch…
https://maven.apache.org/guid…
https://blog.csdn.net/ssrc060…