在 Windows Server 上部署和运行 Java 项目是一个常见需求。以下是详细的步骤指南,帮助你在 Windows Server 环境中成功部署 Java 应用(如 Spring Boot、Java Web 项目等)。
✅ 一、准备工作
1. 确保系统环境
- 操作系统:Windows Server 2012 / 2016 / 2019 / 2022(推荐使用较新版本)
- 权限:以管理员身份操作
- 网络:确保服务器可以访问X_X(用于下载 JDK、Maven 等工具)
✅ 二、安装 Java 运行环境(JDK)
方法一:手动安装 Oracle JDK 或 OpenJDK
-
下载 JDK:
- 推荐使用 Adoptium (Eclipse Temurin) 提供的 OpenJDK
- 或从 Oracle 官网下载(需注意许可)
-
安装 JDK:
- 运行
.exe安装包(例如jdk-17_x64.exe) - 记住安装路径,如:
C:Program FilesJavajdk-17
- 运行
-
配置环境变量:
- 打开「系统属性」→「高级」→「环境变量」
-
添加以下内容:
变量名 值 JAVA_HOMEC:Program FilesJavajdk-17PATH%JAVA_HOME%bin
-
验证安装:
java -version javac -version应显示版本信息。
✅ 三、准备 Java 项目
情况 1:已有可执行 JAR 文件(如 Spring Boot)
- 将打包好的
your-app.jar上传到服务器(使用 FTP、远程桌面复制等) - 放置目录示例:
D:java-appsmyprojectapp.jar
情况 2:源码需要编译(Maven/Gradle)
-
安装 Maven 或 Gradle:
- 下载 Apache Maven:https://maven.apache.org/download.cgi
- 解压到
C:apache-maven-3.8.7 - 设置环境变量:
MAVEN_HOME = C:apache-maven-3.8.7PATH += %MAVEN_HOME%bin
-
编译项目:
cd D:java-appsmyproject mvn clean package生成的 JAR 在
target/目录下。
✅ 四、运行 Java 项目
1. 基本启动命令
java -jar your-app.jar
2. 带参数运行(推荐)
java -Xms512m -Xmx2g -jar your-app.jar --spring.profiles.active=prod
3. 后台运行(避免关闭窗口时中断)
使用 start 命令或重定向输出:
start /B java -jar your-app.jar > app.log 2>&1
⚠️ 注意:
/B表示在后台运行,但进程仍依赖当前会话。
✅ 五、将 Java 应用设置为 Windows 服务(推荐长期运行)
为了让 Java 应用随系统启动、稳定运行,建议注册为 Windows 服务。
推荐工具:NSSM (Non-Sucking Service Manager)
-
下载 NSSM:https://nssm.cc/download
- 下载后解压,选择对应架构(win64)
-
安装服务:
- 打开命令提示符(管理员)
D:nssmwin64nssm install MyJavaApp
- 打开命令提示符(管理员)
-
在弹出窗口中配置:
- Path:
C:Program FilesJavajdk-17binjava.exe - Arguments:
-jar D:java-appsmyprojectapp.jar - Startup directory:
D:java-appsmyproject
- Path:
-
点击 “Install service”
-
启动服务:
net start MyJavaApp -
查看服务状态:
- 打开「服务」管理器(
services.msc) - 找到
MyJavaApp,可设置开机自启
- 打开「服务」管理器(
✅ 六、防火墙与端口开放
如果应用监听某个端口(如 8080),需开放防火墙:
# 开放端口 8080
netsh advfirewall firewall add rule name="Java App Port 8080" dir=in action=allow protocol=TCP localport=8080
✅ 七、日志监控与维护
- 日志文件建议重定向输出:
java -jar app.jar >> app.log 2>&1 - 使用 PowerShell 或第三方工具(如 LogParser、Notepad++)查看日志
- 可结合任务计划程序实现自动重启脚本
✅ 八、补充建议
| 项目 | 建议 |
|---|---|
| JVM 参数 | 根据内存设置 -Xms, -Xmx |
| 外部配置 | 使用 application-prod.yml 和 --spring.config.location= 指定 |
| 安全 | 关闭不必要的共享、启用 Windows 更新、使用强密码 |
| 备份 | 定期备份 JAR 和配置文件 |
| 监控 | 可集成 Prometheus + Grafana(Java 应用加 Micrometer) |
✅ 示例:完整部署流程(Spring Boot)
# 1. 上传 jar 到 D:apps
# 2. 创建启动脚本 start.bat
@echo off
cd /d D:apps
java -Xms512m -Xmx2g -jar myapp.jar --spring.profiles.active=prod > app.log 2>&1
pause
# 3. 使用 NSSM 注册为服务
nssm install MySpringBootApp
# 4. 配置并启动
net start MySpringBootApp
如果你提供具体的 Java 项目类型(如 Spring Boot、Tomcat WAR、普通 Java SE),我可以给出更精确的部署方案。
是否需要我为你生成一个自动部署脚本或服务配置模板?
云计算HECS