Maven 项目模板(Archetype)

常用 Archetype

官方 Archetype

创建项目

# 交互式创建项目 $ 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/