mvn archetype:generate
archetype 原型模板快速创建标准 Maven 项目。
基本用法
交互模式
Bash
mvn archetype:generate
交互式选择原型,输入项目信息。
直接指定原型
Bash
mvn archetype:generate \
-DgroupId=com.example \
-DartifactId=my-app \
-Dversion=1.0.0 \
-DarchetypeGroupId=org.apache.maven.archetypes \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DinteractiveMode=false
常用原型
官方原型
| archetypeArtifactId | 说明 |
|---|---|
| maven-archetype-quickstart | 普通 Java 项目 |
| maven-archetype-webapp | Web 项目 |
| maven-archetype-simple | 简单项目 |
Spring Boot 原型
Bash
mvn archetype:generate \
-DgroupId=com.example \
-DartifactId=spring-boot-app \
-DarchetypeGroupId=org.springframework.boot \
-DarchetypeArtifactId=spring-boot-sample-archetype
项目信息参数
| 参数 | 说明 |
|---|---|
| groupId | 项目组织标识 |
| artifactId | 项目名称 |
| version | 版本号 |
| package | 包名(默认同 groupId) |
| archetypeGroupId | 原型组织标识 |
| archetypeArtifactId | 原型名称 |
| archetypeVersion | 原型版本 |
| interactiveMode | 是否交互(false 直接生成) |
生成项目结构
quickstart 原型生成结构
Bash
my-app/
├── pom.xml
├── src/
│ ├── main/
│ │ └── java/
│ │ └── com/
│ │ └── example/
│ │ └── App.java
│ └── test/
│ └── java/
│ └── com/
│ └── example/
│ └── AppTest.java
webapp 原型生成结构
Bash
my-webapp/
├── pom.xml
├── src/
│ └── main/
│ ├── java/
│ ├── resources/
│ └── webapp/
│ ├── WEB-INF/
│ │ └── web.xml
│ └── index.jsp
查找原型
查看可用原型
Bash
mvn archetype:generate -Dfilter=spring
原型分类
Bash
org.apache.maven.archetypes # 官方原型
org.springframework.boot # Spring Boot
org.apache.struts # Struts
org.apache.camel.archetypes # Camel
自定义原型
创建原型项目
Bash
mvn archetype:create-from-project
从现有项目创建原型。
安装原型
XML
cd target/generated-sources/archetype
mvn install
使用自定义原型
Bash
mvn archetype:generate \
-DarchetypeGroupId=com.example \
-DarchetypeArtifactId=my-archetype \
-DarchetypeVersion=1.0.0 \
-DgroupId=com.client \
-DartifactId=client-project
原型目录
internal 目录
Maven 内置原型列表。
remote 目录
Bash
mvn archetype:crawl
爬取远程原型目录。
原型配置文件
archetype-metadata.xml
定义原型生成的文件和参数。
Bash
<archetype-metadata>
<fileSets>
<fileSet filtered="true" packaged="true">
<directory>src/main/java</directory>
<includes>
<include>**/*.java</include>
</includes>
</fileSet>
</fileSets>
</archetype-metadata>
常用生成示例
普通 Java 项目
text
mvn archetype:generate \
-DgroupId=com.example \
-DartifactId=my-java-app \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DinteractiveMode=false
Web 项目
text
mvn archetype:generate \
-DgroupId=com.example \
-DartifactId=my-webapp \
-DarchetypeArtifactId=maven-archetype-webapp \
-DinteractiveMode=false
Spring MVC 项目
text
mvn archetype:generate \
-DgroupId=com.example \
-DartifactId=spring-mvc \
-DarchetypeGroupId=org.springframework.maven.archetypes \
-DarchetypeArtifactId=spring-mvc-archetype \
-DinteractiveMode=false
要点总结
- mvn archetype:generate 使用原型创建项目
- quickstart 原型创建普通 Java 项目
- webapp 原型创建 Web 项目
- -DinteractiveMode=false 直接生成
- groupId、artifactId、version 定义项目坐标
- 可从现有项目创建自定义原型
📝 发现内容有误?点击此处直接编辑