创建maven项目时的Archetype该如何选择?

Archetype

可以把Archetype理解成Maven项目的模板,例如maven-archetype-quickstart就是最简单的Maven项目模板,只需提供基本的元素,如groupId,artifactId,version等,它就能生成项目的基本结构及POM文件。

Maven Archetype Plugin


使用Archetype的一般步骤

  • 命令——mvn archetype:generate
  • 输入命令后,Archetype插件会输出一个Archetype列表供用户选择;选择自己想要使用的Archetype,输入对应编号
  • 提示输入一些基本参数,如groupId,artifactId,version,package等
  • 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


Archetype Catalog

Catalog用来指定maven-archetype-plugin读取archetype-catalog.xml文件的位置:

  • internal——maven-archetype-plugin内置的
  • local——本地的,位置为~/.m2/archetype-catalog.xml
  • remote——指向Maven中央仓库的Catalog
  • file://
  • http://
### 如何在 IntelliJ IDEA 中选择合适的 Maven Archetype 在 IntelliJ IDEA 创建 Maven 项目的过程中,Archetype选择是一个非常重要的环节。ArchetypeMaven 提供的一种模板机制,用于快速生成特定类型的项目结构[^1]。 当用户启动 Maven 项目创建向导,在 **New Project** 对话框中可以选择不同的 Archetype 来定义项目的初始布局和依赖项[^2]。以下是关于如何选择合适 Archetype 的详细说明: #### 1. 基础型 Archetype (maven-archetype-quickstart) 如果目标是开发一个简单的 Java 应用程序,则可以选用 `maven-archetype-quickstart`。这种 Archetype 将会自动生成基本的目录结构以及默认的 POM 文件,适用于学习或测试场景[^3]。 ```xml <groupId>com.example</groupId> <artifactId>demo-project</artifactId> <version>1.0-SNAPSHOT</version> ``` #### 2. Web 应用 Archetype (maven-archetype-webapp) 对于计划构建基于 Servlet 和 JSP 技术栈的传统 Java EE Web 应用来说,应该考虑采用 `maven-archetype-webapp`。此选项能够初始化包含标准 WEB-INF 文件夹及其下资源文件的标准 WAR 结构。 #### 3. 自定义 Archetype 或第三方库推荐 Archetypes 除了上述两种常见情况外,还有许多其他官方或者社区贡献出来的 Archetype 可供挑选。例如 Spring Boot 官方维护的一套专门针对微服务架构设计的 Starter Kits;又或者是 Apache Camel 所提供的集成解决方案等等。这些高级别的框架通常都有自己专属的最佳实践指南来指导开发者完成相应环境下的工程搭建工作。 因此,在实际操作前需明确当前业务需求并据此决定最适合自己的那个版本号最高的稳定版作为基础蓝本使用即可满足大部分日常开发所需条件限制范围内寻找最接近最终产品形态的那个方案最为理想化状态下的表现形式之一就是让整个过程变得更加高效便捷同也减少了不必要的麻烦事发生几率从而提高了整体工作效率水平线以上内容仅供参考具体实施细节还需视具体情况而定请谨慎对待每一个决策环节以免造成不可挽回的重大损失风险事件再次提醒各位同仁们一定要认真负责地处理好每一件事情谢谢大家配合! ```java public class Main { public static void main(String[] args) { System.out.println("Hello, World!"); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值