mvn部署

Maven (mvn) 和前端 npm 不同,它主要是一个构建工具,而不是直接的开发服务器启动器。但在 Spring Boot 等现代 Java 框架中,可以通过插件实现类似 npm run dev 的效果。

以下是使用 Maven 启动 Java 项目的常用命令整理,按开发构建运行分类:

📄 前置条件

在执行命令前,确保项目根目录下有 pom.xml 文件(相当于前端的 package.json),并且已安装 JDKMaven

🛠 一、开发阶段启动(最常用)

如果你使用的是 Spring Boot 项目,这是最接近 npm run dev 的命令:

1
2
# 启动 Spring Boot 项目(热加载支持需额外配置)
mvn spring-boot:run

如果是老式 Web 项目(WAR 包 + Tomcat/Jetty):

1
2
3
4
5
6
7
# 使用 Jetty 启动
mvn jetty:run

# 使用 Tomcat 启动
mvn tomcat7:run
# 或
mvn tomcat:run

🏗 二、构建与打包命令

在启动之前,通常需要先构建项目以确保依赖下载完成且代码编译无误。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 1. 清理之前的构建文件(推荐每次构建前执行)
mvn clean

# 2. 编译源代码
mvn compile

# 3. 编译测试代码
mvn test-compile

# 4. 运行单元测试
mvn test

# 5. 打包(生成 jar 或 war 包)
mvn package

# 6. 安装到本地仓库(供其他项目引用)
mvn install

# 7. 一键清理 + 编译 + 测试 + 打包
mvn clean package

🚀 三、生产环境运行方式

生产环境通常不直接用 mvn 启动,而是先打包,再用 java 命令运行。

1
2
3
4
5
6
7
8
# 1. 先打包
mvn clean package -DskipTests

# 2. 运行生成的 jar 包(target 目录下)
java -jar target/my-project-0.0.1-SNAPSHOT.jar

# 3. 指定配置文件启动(例如生产环境)
java -jar target/my-project.jar --spring.profiles.active=prod

⚙️ 四、常用参数与技巧

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 跳过测试(加快构建速度)
mvn clean package -DskipTests

# 跳过测试且不编译测试代码
mvn clean package -Dmaven.test.skip=true

# 指定 Maven 配置文件(如多环境配置)
mvn clean package -P prod

# 指定 JDK 版本运行
mvn clean package -Dmaven.compiler.source=1.8 -Dmaven.compiler.target=1.8

# 查看依赖树(排查冲突)
mvn dependency:tree

# 查看插件帮助
mvn help:describe -Dplugin=compiler

📋 五、完整启动流程示例

场景 A:本地开发调试

1
2
3
4
5
6
7
8
# 1. 进入项目根目录
cd my-java-project

# 2. 清理并安装依赖
mvn clean install

# 3. 启动项目
mvn spring-boot:run
1
Maven 必须在包含 `pom.xml` 的 项目根目录 下执行。

场景 B:服务器部署

1
2
3
4
5
6
7
8
# 1. 构建包
mvn clean package -DskipTests

# 2. 后台运行(Linux)
nohup java -jar target/my-project.jar > log.txt 2>&1 &

# 3. 或者使用 PM2 管理 Java 进程
pm2 start target/my-project.jar --name "my-app"

⚠️ 六、常见问题与解决

问题 可能原因 解决方案
mvn 命令找不到 未配置 Maven 环境变量 配置 MAVEN_HOMEPATH
BUILD FAILURE 代码编译错误或测试失败 查看报错日志,或加 -DskipTests
端口被占用 8080 端口已被使用 修改 application.properties 中的端口,或杀死占用进程
依赖下载慢 默认连接中央仓库慢 配置阿里云 Maven 镜像 (settings.xml)
Java 版本不匹配 项目要求 JDK 17,本地是 JDK 8 切换本地 JDK 版本或修改 pom.xml 配置

💡 七、Maven 与 Npm 命令对照表

功能 Npm (前端) Maven (后端)
配置文件 package.json pom.xml
安装依赖 npm install mvn install (或自动下载)
启动开发 npm run dev mvn spring-boot:run
构建打包 npm run build mvn package
清理缓存 npm cache clean mvn clean
运行测试 npm run test mvn test

总结

  1. 开发时:直接用 mvn spring-boot:run
  2. 构建时:用 mvn clean package -DskipTests
  3. 部署时:用 java -jar 运行打包好的文件。
  4. 核心文件:确保你在 pom.xml 所在的目录下执行命令。