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.archetypesarchetype.artifactId=quickstart-jdk8archetype.version=1.0.0# archetype.filteredExtensions=javaarchetype.languages=java#an_additional_property=my specific value

执行如下命令,生成原型,到目录 target/generated-sources/archetype

cd quickstart-jdk8mvn archetype:create-from-project -Darchetype.properties=../quickstart-jdk8.properties

进入原型目录,打包成jar,并保留到本地仓库

cd target/generated-sources/archetypemvn install

也能够应用 archetype:jar 间接生成jar

mvn archetype:jar

上传到center repositry

sonatype公司治理着一个凋谢的地方仓库,只有把本人的包传上去,在其余能联网的中央就能间接应用了。

次要分三个步骤

  1. 去sonatype的jira ,注册并申请groupId,期待通过。
  2. 批改pom.xml,减少签名,javadoc,source等
  3. 进行公布,snapshot、release
  4. 登录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...