12

Maven-项目模板

 3 years ago
source link: https://www.techstack.tech/post/Maven-%E9%A1%B9%E7%9B%AE%E6%A8%A1%E6%9D%BF/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Archetype介绍

Archetype是一个Maven项目的模板工具包,它定义了一类项目的基本架构。Archetype为开发人员提供了创建Maven项目的模板,同时它也可以根据已有的Maven项目生成参数化的模板。通过Archetype,开发人员可以很方便地将一类项目的最佳实现应用到自己的项目中。在一个Maven项目中,开发者可以通过Archetype提供的范例快速入门并了解该项目的结构与特点。
官方文档:https://maven.apache.org/archetype/index.html

Archetype使用

IDEA中创建

在IDEA中,我们可以通过New Project – Maven – Create from archetype,选择某个archetype快速创建模板项目

IDEA创建模板
IDEA创建模板
mvn archetype:generate
  • 输入命令后,Archetype插件会输出一个Archetype列表供用户选择;选择自己想要使用的Archetype,输入对应编号

  • 提示输入一些基本参数,如groupId,artifactId,version,package等

  • Archetype插件生成项目骨架

    命令创建
    命令创建

过滤器方式创建

过滤器方式
过滤器方式
跳过了选择archetype步骤

常用的archetype

maven-archetype-quickstart

默认的Archetype,基本内容包括:

  • 一个包含junit依赖声明的pom.xml
  • src/main/java主代码目录及一个名为App的类
  • src/test/java测试代码目录及一个名为AppTest的测试用例

maven-archetype-webapp

一个最简单的Maven war项目模板,当需要快速创建一个Web应用的时候可以使用它。生成的项目内容包括:

  • 一个packaging为war且带有junit依赖声明的pom.xml
  • src/main/webapp/目录
  • src/main/webapp/index.jsp文件
  • src/main/webapp/WEB-INF/web.xml文件

Archetype开发

创建自定义模板

1.在maven项目下,执行mvn archetype:create-from-project,在target/generated-sources/archetype目录下生成Archetype project
2.cd target/generated-sources/archetype后,mvn install安装archetype project到本地仓库

ps:如果是maven多模块项目,在根目录下执行mvn archetype:create-from-project

mvn install后,会在本地的maven仓库,按照maven坐标创建对应的archetype文件

步骤
步骤

官方介绍:https://maven.apache.org/archetype/maven-archetype-plugin/advanced-usage.html

例子:

loading1.gif
loading1.gif

本地仓库中生成的archetype模板

loading1.gif

使用自定义模板

1.在当前的目录下,mvn archetype:generate -DarchetypeCatalog=local,查看本地archetype列表

2.choose number,按步骤输入基本参数groupId/artifactId/version/package

3.在当前目录下,以artifactId为目录创建一个新的项目

loading1.gif
loading1.gif

添加到IDEA

loading1.gif
loading1.gif

添加自定义属性参数

loading1.gif

Archetype配置

mvn archetype:generate -DarchetypeCatalog=local

对应的本地archetype列表,在本地maven仓库的archetype-catalog.xml中 ,比如: ~/.m2/repository/archetype-catalog.xml

loading1.gif

IDEA中的archtype配置,在 ~/Library/Caches/IntelliJIdea2017.1/Maven/Indices/UserArchetypes.xml中

loading1.gif
loading1.gif

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK