Maven 自定义archeType

栏目: Java · 发布时间: 5年前

内容简介:每个模板里其实就是附带不同的依赖和插件。一般在公司私服里都会有属于本公司的一套archeType模板,里面有着调试好的项目用到的依赖包和版本号。假如自己已经有了一个maven项目,想给该项目创建一个archeType模板。cd 到项目根目录下执行(pom.xml同级目录)。

我们在创建maven项目的时候,你会发现有这么多的apache提供的模板。

Maven 自定义archeType
或者使用 mvn archetype:generate

命令来快速创建maven项目,也会有很多个选项,让你选择模板序号。那每个模板之间有什么区别呢?

每个模板里其实就是附带不同的依赖和插件。一般在公司私服里都会有属于本公司的一套archeType模板,里面有着调试好的项目用到的依赖包和版本号。

2. 创建archetype

假如自己已经有了一个maven项目,想给该项目创建一个archeType模板。

cd 到项目根目录下执行(pom.xml同级目录)。

mvn archetype:create-from-project 
复制代码

此时会在项目target下生成这些文件:

Maven 自定义archeType

3. 生成archetype模板

先  cd target/generated-sources/archetype/

然后执行 mvn install 
复制代码

执行成功后,执行 crawl 命令,在本地仓库的根目录生成 archetype-catalog.xml 骨架配置文件:

mvn archetype:crawl
复制代码
Maven 自定义archeType

来看一看它里面的内容:

[fantj@lalala repository]$ cat archetype-catalog.xml 
<?xml version="1.0" encoding="UTF-8"?>
<archetype-catalog xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-catalog/1.0.0 http://maven.apache.org/xsd/archetype-catalog-1.0.0.xsd"
    xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-catalog/1.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <archetypes>
    <archetype>
      <groupId>com.fantj</groupId>
      <artifactId>my-self-defind-archtype-archetype</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <description>my-self-defind-archtype</description>
    </archetype>
  </archetypes>
</archetype-catalog>
复制代码

4. 使用archetype模板

执行 mvn archetype:generate -DarchetypeCatalog=local 从本地archeType模板中创建项目。

mvn archetype:generate -DarchetypeCatalog=local
复制代码

然后会让你选择模板序号和 groupId``artifactId``versionpackage 信息:

Choose archetype:
1: local -> com.fantj:my-self-defind-archtype-archetype (my-self-defind-archtype)
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): : 1
Define value for property 'groupId': com.fantj
Define value for property 'artifactId': my-self-defind-archetype-test
Define value for property 'version' 1.0-SNAPSHOT: : 
Define value for property 'package' com.fantj: : 
Confirm properties configuration:
groupId: com.fantj
artifactId: my-self-defind-archetype-test
version: 1.0-SNAPSHOT
package: com.fantj
 Y: : y
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Archetype: my-self-defind-archtype-archetype:0.0.1-SNAPSHOT
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: com.fantj
[INFO] Parameter: artifactId, Value: my-self-defind-archetype-test
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: package, Value: com.fantj
[INFO] Parameter: packageInPathFormat, Value: com/fantj
[INFO] Parameter: package, Value: com.fantj
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: groupId, Value: com.fantj
[INFO] Parameter: artifactId, Value: my-self-defind-archetype-test
[INFO] Project created from Archetype in dir: /home/fantj/IdeaProjects/maven-tutorial/my-self-defind-archetype-test
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
复制代码

项目创建成功!

当然,也可以使用IDEA来帮我们用图形界面使用archeType模板创建项目:

Maven 自定义archeType
Maven 自定义archeType
Maven 自定义archeType

后面的就与创建普通项目相同了,不做演示。

如果你喜欢我的文章,那麻烦请关注我的公众号,公众号重点分析架构师技术,该公众号还处于初始阶段,谢谢大家的支持。

Maven 自定义archeType
关注公众号,回复 java架构

获取架构视频资源(后期还会分享不同的优质资源噢)。


以上所述就是小编给大家介绍的《Maven 自定义archeType》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C++沉思录

C++沉思录

Andrew Koenig、Barbara Moo / 黄晓春、孟岩(审校) / 人民邮电出版社 / 2008-1 / 55.00元

《C++沉思录》基于作者在知名技术杂志发表的技术文章、世界各地发表的演讲以及斯坦福大学的课程讲义整理、写作而成,融聚了作者10多年C++程序生涯的真知灼见。全书分为6篇32章,分别对C++语言的历史和特点、类和继承、STL与泛型编程、库的设计等几大技术话题进行了详细而深入的讨论,细微之处几乎涵盖了C++所有的设计思想和技术细节。全书通过精心挑选的实例,向读者传达先进的程序设计的方法和理念。一起来看看 《C++沉思录》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具