内容简介:每个模板里其实就是附带不同的依赖和插件。一般在公司私服里都会有属于本公司的一套archeType模板,里面有着调试好的项目用到的依赖包和版本号。假如自己已经有了一个maven项目,想给该项目创建一个archeType模板。cd 到项目根目录下执行(pom.xml同级目录)。
我们在创建maven项目的时候,你会发现有这么多的apache提供的模板。
或者使用mvn archetype:generate
命令来快速创建maven项目,也会有很多个选项,让你选择模板序号。那每个模板之间有什么区别呢?
每个模板里其实就是附带不同的依赖和插件。一般在公司私服里都会有属于本公司的一套archeType模板,里面有着调试好的项目用到的依赖包和版本号。
2. 创建archetype
假如自己已经有了一个maven项目,想给该项目创建一个archeType模板。
cd 到项目根目录下执行(pom.xml同级目录)。
mvn archetype:create-from-project 复制代码
此时会在项目target下生成这些文件:
3. 生成archetype模板
先 cd target/generated-sources/archetype/ 然后执行 mvn install 复制代码
执行成功后,执行 crawl
命令,在本地仓库的根目录生成 archetype-catalog.xml
骨架配置文件:
mvn archetype:crawl 复制代码
来看一看它里面的内容:
[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``version
和 package
信息:
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模板创建项目:
后面的就与创建普通项目相同了,不做演示。
如果你喜欢我的文章,那麻烦请关注我的公众号,公众号重点分析架构师技术,该公众号还处于初始阶段,谢谢大家的支持。
关注公众号,回复java架构
获取架构视频资源(后期还会分享不同的优质资源噢)。
以上所述就是小编给大家介绍的《Maven 自定义archeType》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Android 自定义 View (04自定义属性)
- Vue自定义组件(简单实现一个自定义组件)
- Android 自定义View:深入理解自定义属性(七)
- Qt编写自定义控件20-自定义饼图 原 荐
- SpringBoot2 | SpringBoot自定义AutoConfiguration | SpringBoot自定义starter(五)
- 『互联网架构』软件架构-springboot自定义视图和自定义Starter(90)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Head First Design Patterns
Elisabeth Freeman、Eric Freeman、Bert Bates、Kathy Sierra、Elisabeth Robson / O'Reilly Media / 2004-11-1 / USD 49.99
You're not alone. At any given moment, somewhere in the world someone struggles with the same software design problems you have. You know you don't want to reinvent the wheel (or worse, a flat tire),......一起来看看 《Head First Design Patterns》 这本书的介绍吧!