Maven 项目模板(Archetype)
常用 Archetype
官方 Archetype
- maven-archetype-quickstart:简单 Java 项目
- maven-archetype-webapp:Web 应用项目
- maven-archetype-j2ee-simple:J2EE 项目
- maven-archetype-plugin:Maven 插件项目
创建项目
# 交互式创建项目
$ mvn archetype:generate
# 指定 archetype 创建项目
$ mvn archetype:generate \
-DgroupId=com.example \
-DartifactId=my-app \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DinteractiveMode=false
# 创建 Web 项目
$ mvn archetype:generate \
-DgroupId=com.example \
-DartifactId=my-web-app \
-DarchetypeArtifactId=maven-archetype-webapp \
-DinteractiveMode=false
Spring Boot Archetype
mvn archetype:generate \
-DgroupId=com.example \
-DartifactId=spring-boot-demo \
-DarchetypeGroupId=org.springframework.boot \
-DarchetypeArtifactId=spring-boot-starter-parent \
-DarchetypeVersion=2.7.0 \
-DinteractiveMode=false
自定义 Archetype
# 从现有项目创建 archetype
$ mvn archetype:create-from-project
# 安装自定义 archetype
$ cd target/generated-sources/archetype
$ mvn install
# 使用自定义 archetype
$ mvn archetype:generate \
-DarchetypeCatalog=local \
-DgroupId=com.example \
-DartifactId=my-custom-project
Archetype 目录结构
my-archetype/
├── pom.xml
└── src/
└── main/
└── resources/
├── META-INF/
│ └── maven/
│ └── archetype-metadata.xml
└── archetype-resources/
├── pom.xml
└── src/
├── main/
│ └── java/
└── test/
└── java/