Maven 项目模板
Maven 项目模板大全(2025 最新版)
一句话总结:
一行命令生成标准项目结构 + 最佳pom.xml+ 热部署 + 测试 + 打包
一、快速生成模板(推荐)
| 类型 | 命令 |
|---|---|
| 基础 Java | 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 -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false |
| Spring Boot | https://start.spring.io |
| 多模块 | 手动 + 父 POM |
二、模板 1:基础 Java 项目(quickstart)
生成命令
mvn archetype:generate \
-DgroupId=com.example \
-DartifactId=my-java-app \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DinteractiveMode=false
标准 pom.xml(优化版)
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>my-java-app</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
<name>My Java App</name>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<junit.version>5.10.3</junit.version>
</properties>
<dependencies>
<!-- JUnit 5 -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<!-- 可执行 JAR -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.6.0</version>
<executions>
<execution>
<phase>package</phase>
<goals><goal>shade</goal></goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.example.App</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
三、模板 2:Web 项目(webapp)
生成命令
mvn archetype:generate \
-DgroupId=com.example \
-DartifactId=my-web-app \
-DarchetypeArtifactId=maven-archetype-webapp \
-DinteractiveMode=false
优化 pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>my-web-app</artifactId>
<version>1.0.0</version>
<packaging>war</packaging>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<jakarta.servlet.version>5.0.0</jakarta.servlet.version>
</properties>
<dependencies>
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>${jakarta.servlet.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.4.0</version>
</plugin>
</plugins>
</build>
</project>
四、模板 3:Spring Boot 项目(推荐 start.spring.io)
在线生成:https://start.spring.io
推荐配置:
- Project: Maven
- Language: Java
- Spring Boot: 3.3.5
- Packaging: Jar
- Java: 17
- Dependencies:
Spring Web,Spring Boot DevTools,Lombok
生成后 pom.xml 关键部分
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.3.5</version>
<relativePath/>
</parent>
<properties>
<java.version>17</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
五、模板 4:多模块项目(enterprise)
结构
enterprise-app/
├── pom.xml ← 父 POM
├── common/
│ └── pom.xml
├── service-user/
│ └── pom.xml
└── web-api/
└── pom.xml
父 pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0">
<modelVersion>4.0.0</modelVersion>
<groupId>com.enterprise</groupId>
<artifactId>enterprise-parent</artifactId>
<version>1.0.0</version>
<packaging>pom</packaging>
<modules>
<module>common</module>
<module>service-user</module>
<module>web-api</module>
</modules>
<properties>
<java.version>17</java.version>
<spring-boot.version>3.3.5</spring-boot.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project>
六、模板 5:微服务模板(Spring Cloud)
使用 Spring Initializr 添加:
Spring Cloud RoutingSpring Cloud LoadBalancerEureka Discovery Client
七、一键生成脚本(复制粘贴)
# 基础 Java
create_java() {
mvn archetype:generate -DgroupId=$1 -DartifactId=$2 -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
}
# Web 项目
create_web() {
mvn archetype:generate -DgroupId=$1 -DartifactId=$2 -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
}
# 使用
create_java com.example my-app
create_web com.example my-web
八、IDEA 快速导入模板
File → New → Project from Version Control- 粘贴 GitHub 模板仓库:
- https://github.com/spring-guides/gs-multi-module
- https://github.com/spring-projects/spring-petclinic
九、推荐模板仓库(GitHub)
| 模板 | 链接 |
|---|---|
| Spring Boot 基础 | https://github.com/spring-projects/spring-boot |
| 多模块示例 | https://github.com/spring-guides/gs-multi-module |
| 微服务模板 | https://github.com/spring-cloud-samples |
十、快速上手命令总结
# 1. 生成项目
mvn archetype:generate -DgroupId=com.example -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
# 2. 进入项目
cd my-app
# 3. 编译 + 测试 + 打包
mvn clean package
# 4. 运行
java -jar target/my-app-1.0.0-shaded.jar
恭喜!你已掌握 Maven 项目模板!
下一步推荐
| 方向 | 内容 |
|---|---|
| Docker 模板 | Dockerfile + maven |
| CI/CD 模板 | GitHub Actions |
| K8s 部署 | Helm Chart |
需要 完整 Spring Boot 多模块微服务模板?
回复 Spring Boot Template 立即获取 GitHub 链接!