如何选择创建Maven的archetype

article/2025/10/1 5:44:22

前言:

在使用IDEA的Maven插件创建我们的maven项目时提供了如图所示的原型,为我们快速创建合适的项目提供了很大的帮助。下面我们将详细介绍各个archetype。
在这里插入图片描述

官网对archetype(原型)的介绍:
http://maven.apache.org/guides/introduction/introduction-to-archetypes.html

什么是archetype?

简言之,prototype是一个Maven项目模板工具包。原型被定义为一个原始的模式或模型,所有其他同类的东西都是由它构成的。使用原型提供了一种很好的方法,可以使开发人员以与项目或组织所采用的最佳实践一致的方式快速开发。

Maven的archetype有哪些?

下面简单介绍Maven提供的原型

Archetype ArtifactIdsDescription
maven-archetype-archetype生成示例原型项目的原型。
maven-archetype-j2ee-simple生成简化示例J2EE应用程序的原型。
maven-archetype-mojo生成示例的原型(示例Maven插件)。
maven-archetype-plugin生成示例Maven插件的原型。
maven-archetype-plugin-site生成示例Maven插件站点的原型。
maven-archetype-portlet生成示例的原型JSR-268组件。
maven-archetype-quickstart生成示例Maven项目的原型。
maven-archetype-simple生成简单Maven项目的原型。
maven-archetype-site生成示例Maven站点的原型,该示例Maven站点演示了一些受支持的文档类型,如APT、XDoc和FML,并演示了如何i18n您的站点。
maven-archetype-site-simple生成示例Maven站点的原型
maven-archetype-webapp生成示例Maven Webapp项目的原型。

命令行的使用:见官方说明:
http://maven.apache.org/archetype/maven-archetype-plugin/usage.html

创建的原型的结构图及使用命令

maven-archetype-archetype:

project
|-- pom.xml
`-- src|-- main|   `-- resources|       |-- archetype-resources|       |   |-- pom.xml|       |   `-- src|       |       |-- main|       |       |   `-- java|       |       |       `-- App.java|       |       `-- test|       |           `-- java|       |               `-- AppTest.java|       `-- META-INF|           `-- maven|               `-- archetype-metadata.xml`-- test`-- resources`-- projects`-- it-basic|-- archetype.properties`-- goal.txt

命令创建方式:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-archetype -DarchetypeVersion=1.4

maven-archetype-j2ee-simple:

project
|-- pom.xml
|-- ear
|   |-- pom.xml
|   `-- src
|       |-- main
|       |   `-- java
|       `-- test
|           `-- java
|-- ejbs
|   |-- pom.xml
|   `-- src
|       |-- main
|       |   |-- java
|       |   `-- resources
|       |       `-- META-INF
|       |           `-- ejb-jar.xml
|       `-- test
|           `-- java
|-- primary-source
|   |-- pom.xml
|   `-- src
|       |-- main
|       |   `-- java
|       `-- test
|           `-- java
|-- projects
|   |-- pom.xml
|   `-- logging
|       |-- pom.xml
|       `-- src
|           |-- main
|           |   `-- java
|           `-- test
|               `-- java
`-- servlets|-- pom.xml`-- servlet|-- pom.xml`-- src|-- main|   `-- java|-- webapp|   |-- WEB-INF|   |   `-- web.xml|   `-- index.jsp`-- test`-- java

命令创建方式:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-j2ee-simple -DarchetypeVersion=1.4

maven-archetype-plugin

project
|-- pom.xml
`-- src|-- main|   `-- java|       `-- $package|           `-- MyMojo.java|-- test|   |-- java|   |   `-- $package|   │       `-- MyMojoTest.java|   `-- resources|       `-- project-to-test|           `-- pom.xml`-- it|-- simple-it|   |-- pom.xml|   `-- verify.groovy`-- settings.xml

命令创建方式:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-plugin -DarchetypeVersion=1.4

Maven Plugin Site Archetype:

project
|-- pom.xml
`-- src`-- site|-- apt|   |-- examples|   |   `-- example.apt|   |-- index.apt|   `-- usage.apt|-- markdown|   |-- markdown.md|   `-- markdown-velocity.md.vm`-- site.xml

命令创建方式:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-plugin-site -DarchetypeVersion=1.4

maven-archetype-portlet

project
|-- pom.xml
`-- src`-- main|-- java|   `-- $package|       `-- MyPortlet.java|-- jetspeed|   `-- web.xml`-- webapp|-- WEB-INF|   |-- tld|   |   `-- portlet.tld|   |-- portlet.xml|   `-- web.xml|-- help.jsp|-- maximized.jsp`-- normal.jsp

命令创建方式:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-portlet -DarchetypeVersion=1.4

maven-archetype-quickstart

project
|-- pom.xml
`-- src|-- main|   `-- java|       `-- $package|           `-- App.java`-- test`-- java`-- $package`-- AppTest.java

命令创建方式:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4

maven-archetype-simple

project
|-- pom.xml
`-- src|-- main|   `-- java|       `-- $package|           `-- App.java|-- site|   `-- site.xml`-- test`-- java`-- $package`-- AppTest.java

命令创建方式:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-simple -DarchetypeVersion=1.4

maven-archetype-site

project
|-- pom.xml
`-- src`-- site|-- apt|   |-- format.apt|   `-- index.apt|-- fml|   `-- faq.fml|-- fr|   |-- apt|   |   |-- format.apt|   |   `-- index.apt|   |-- fml|   |   `-- faq.fml|   |-- markdown|   |   |-- markdown.md|   |   `-- markdown-velocity.md.vm|   `-- xdoc|       `-- xdoc.xml|-- markdown|   |-- markdown.md|   `-- markdown-velocity.md.vm|-- xdoc|   `-- xdoc.xml|-- site_fr.xml`-- site.xml

命令创建方式:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-site -DarchetypeVersion=1.4

maven-archetype-site-simple

project
|-- pom.xml
`-- src`-- site|-- apt|   `-- index.apt|-- markdown|   |-- markdown-velocity.md.vm|   `-- markdown.md`-- site.xml

命令创建方式:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-site-simple -DarchetypeVersion=1.4

maven-archetype-site-skin

project
|-- pom.xml
`-- src|-- main|   `-- resources|       `-- META-INF|           |-- css|           |   |-- maven-base.css|           |   |-- maven-theme.css|           |   `-- print.css|           |-- images|           |   |-- external.png|           |   |-- icon_error_sml.gif|           |   |-- icon_info_sml.gif|           |   |-- icon_success_sml.gif|           |   |-- icon_warning_sml.gif|           |   `-- newwindow.png|           `-- maven|               |-- site.vm|               |-- site-macros.vm|               `-- skin.xml`-- it|-- settings.xml`-- sample|-- pom.xml`-- verify.groovy`-- src`-- site|-- site.xml`-- apt`-- index.apt.vm

命令创建方式:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-site-skin -DarchetypeVersion=1.4

maven-archetype-webapp

project
|-- pom.xml
`-- src`-- main`-- webapp|-- WEB-INF|   `-- web.xml`-- index.jsp

命令创建方式:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-webapp -DarchetypeVersion=1.4

http://chatgpt.dhexx.cn/article/WomvCImc.shtml

相关文章

Maven model archetype说明

前言 新建一个model,其中有一个选项“Create from archetype”感觉很奇怪,我就来了解一下这些内容,做一下笔记, 什么是Archetype Archetype翻译过来就是:骨架,项目工程骨架。 Archetype是Maven工程的模板…

Maven自定义Archetype项目模板

前言:在某课网上学习到可以使用命令mvn archetype:create-from-project来创建自己的项目模板(文中提及的项目模板即 原型 archetype),对此我十分感兴趣。但是,遗憾的是,老师没有介绍如何去构建这样一个特殊…

Maven-Archetype Catalog

当用户以不指定Archetype坐标的方式使用maven-archetype-plugin的时候,会得到一个Archetype列表供选择,这个列表的信息来源于一个名为archetype-catalog.xml的文件,如: archetype-catlog.xml能提供Archetype的信息,那么…

Idea archetype介绍

一、背景 Idea创建项目时,被一堆archetype混淆视听,犹豫不决决定彻底弄懂他 1.关键词 Archetype: 骨架Maven: Java代码编译时的一个工具(软件讲究运行时、和编译时两种状态) 2.网友介绍 Archetype是Maven工程的模板工具包。一…

Maven Archetype

目录 Maven Archetype工程结构创建Maven Archetype创建支持生成多模块的Maven Archetype在idea中添加自定义Maven Archetype 最开始接触到maven archetype,是在通过idea创建project时,可以选择Maven -> Create from archetype, 在输入proj…

自定义idea archetype

编写 archetype 元数据 通过plugin从现有项目中导出 1、引入plugin <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-archetype-plugin</artifactId><version>3.2.0</version></plugin>2、通过maven…

Maven 三种archetype说明

新建Maven project项目时,需要选择archetype。 那么,什么是archetype? archetype的意思就是模板原型的意思,原型是一个Maven项目模板工具包。一个原型被定义为从其中相同类型的所有其它事情是由一个原始图案或模型。名称配合,因为我们正在努力提供一种系统,该系统提供了…

maven中archetype(原型)的使用及创建

当我们在idea中创建项目时&#xff0c;经常会见到如下界面选择&#xff1a; archetype也就是原型&#xff0c;准确说是一个项目模板&#xff0c;我们可以根据该模板来生成项目。 我就不介绍图形界面的创建方式了&#xff0c;一步一步太啰嗦了&#xff0c;我们用命令方式创建。…

创建自定义的archetype(项目模板)

一、archetype简介 Archetype是一个Maven项目的模板工具包&#xff0c;它定义了一类项目的基本架构。Archetype为开发人员提供了创建Maven项目的模板&#xff0c;同时它也可以根据已有的Maven项目生成参数化的模板。通过archetype&#xff0c;开发人员可以很方便地将一类项目的…

Maven创建时archetype的选择说明

新建Maven project项目时&#xff0c;需要选择archetype。 那么&#xff0c;什么是archetype&#xff1f; archetype的意思就是模板原型的意思&#xff0c;原型是一个Maven项目模板工具包。一个原型被定义为从其中相同类型的所有其它事情是由一个原始图案或模型。名称配合&am…

Maven的Archetype简介

简单的说&#xff0c;Archetype是Maven工程的模板工具包。一个Archetype定义了要做的相同类型事情的初始样式或模型。这个名称给我们提供来了一个一致的生成Maven工程的方式。Archetype会帮助作者给用户创建Maven工程模板&#xff0c;并给用户提供生成相关工程模板版本的参数化…

c语言学习--强制类型转换

C语言中关于强制类型转换问题 由于朋友问到&#xff0c;所以整理了一份&#xff0c;若关于一些认识有错误还望指出...... ● 如果一个运算符两边的运算数类型不同&#xff0c;先要将其转换为相同的类型&#xff0c;即较低类型转换为较高类型&#xff0c;然后再参加运算&#xf…

列举三种强制类型转换

1 强制类型转换—String 这里主要列举了两种强制转换为字符串类型的方法&#xff0c;我们也在log控制台中验证了新的类型。 但是注意&#xff1a;null 和 undefined 这两个值没有 toString()方法。 2 强制类型转换—Number 这里我为大家列举了三种方法&#xff0c;但是注意后…

C语言(强制类型转换)

一.类型转换原则 1.升级&#xff1a;当类型转换出现在表达式时&#xff0c;无论时unsigned还是signed的char和short都会被自动转换成int&#xff0c;如有必要会被转换成unsigned int(如果short与int的大小相同&#xff0c;unsigned short就比int大。这种情况下&#xff0c;uns…

如何进行强制类型转换?

1、自动类型转换 自动类型转换就是编译器默默地、隐式地、偷偷地进行的数据类型转换&#xff0c;这种转换不需要程序员干预&#xff0c;会自动发生。 1) 将一种类型的数据赋值给另外一种类型的变量时就会发生自动类型转换&#xff0c;例如&#xff1a; float f 100; 100 是 i…

Java中的强制类型转换

尽管自动类型转换是很方便的&#xff0c;但并不能满足所有的编程需要。 例如&#xff0c;当程序中需要将 double 型变量的值赋给一个 int 型变量&#xff0c;该如何实现呢&#xff1f; 显然&#xff0c;这种转换是不会自动进行的&#xff01;因为 int 型的存储范围比 doub…

C++的四种强制类型转换

目录 1、C语言中的类型转换 2、为什么C需要四种类型转换 3、C强制类型转换 static_cast reinterpret_cast const_cast dynamic_cast 4、RTTI&#xff08;了解&#xff09; 5、常见面试题 1、C语言中的类型转换 在C语言中&#xff0c;如果赋值运算符左右两侧类型不同&#…

Java中强制类型转换

Java中强制类型转换 一、整型强转 类型转换都是小范围向大范围转换的&#xff0c;大范围往小范围转化需要用到强制转换&#xff0c;转换后的值会有所损失。 不同数据类型精度由小到大排列如下&#xff1a;char-->byte --> short --> int --> long --> float --…

(强制)类型转换方法

目录 一、C语言中的类型转换 二、C中的强制类型转换 2.1 static_cast 2.2 reinterpret_cast 2.3 const_cast 2.4 dynamic_cast 2.5 总结 一、C语言中的类型转换 在C语言中&#xff0c;若赋值运算符左右两侧类型不同&#xff0c;或者形参与实参类型不匹配&#xff0c;或…

rgba 兼容性处理

根据caniuse&#xff08;http://caniuse.com/#searchrgba&#xff09;&#xff0c;rgba兼容性为IE9以及以上浏览器。 实例代码&#xff1a; 1 <!doctype html>2 <html lang"en">3 4 <head>5 <meta charset"UTF-8" />6…