Windows server部署运行java项目?

在 Windows Server 上部署和运行 Java 项目是常见需求,以下是详细的步骤指南,帮助你顺利完成部署。


✅ 一、准备工作

1. 确认系统环境

  • 操作系统:Windows Server(如 2012 R2 / 2016 / 2019 / 2022)
  • 权限:建议使用管理员账户操作
  • 网络配置:确保防火墙开放所需端口(如 8080)

✅ 二、安装 Java 运行环境(JRE 或 JDK)

1. 下载 Java

推荐使用 OpenJDKOracle JDK

  • OpenJDK 下载(免费):
    • Adoptium (Eclipse Temurin)
    • Amazon Corretto
    • Microsoft Build of OpenJDK

推荐下载 LTS 版本(如 Java 8、11、17)

2. 安装 Java

  • 双击 .msi 安装包,按提示安装
  • 记住安装路径,例如:C:Program FilesEclipse Adoptiumjdk-17.0.3.7-hotspot

3. 配置环境变量

设置 JAVA_HOME

  1. 打开“系统属性” → “高级系统设置” → “环境变量”
  2. 在“系统变量”中新建:
    变量名:JAVA_HOME
    变量值:C:Program FilesEclipse Adoptiumjdk-17.0.3.7-hotspot
  3. 编辑 Path 变量,添加:
    %JAVA_HOME%bin

验证安装

打开命令提示符(CMD)运行:

java -version
javac -version   # 如果安装了 JDK

应显示版本信息。


✅ 三、准备 Java 项目

情况 1:已有可执行 JAR 文件(最常见)

  • 如:myapp.jar
  • 通常是 Spring Boot 项目打包生成的 Fat JAR

情况 2:WAR 包 + 应用服务器(如 Tomcat)

  • 需额外部署 Tomcat

✅ 四、部署方式选择

方式一:直接运行 JAR(推荐用于 Spring Boot)

1. 上传 JAR 文件

myapp.jar 放到服务器某个目录,例如:

D:javaappsmyapp.jar

2. 测试运行

打开 CMD,进入目录并运行:

cd /d D:javaapps
java -jar myapp.jar

如果看到启动日志(如 Tomcat started),说明成功。

3. 后台运行(关键!)

Windows 不像 Linux 有 nohup,可用以下方法:

方法 A:使用 start 命令后台运行
start /B java -jar myapp.jar > output.log 2>&1

/B 表示在后台运行,日志输出到文件

方法 B:创建 Windows 服务(推荐长期运行)

使用工具将 JAR 包装为 Windows 服务:

推荐工具:NSSM (Non-Sucking Service Manager)
  1. 下载 nssm 并解压(如放到 C:nssm
  2. 运行 nssm install MyJavaApp
  3. 配置:
    • Path: C:Program FilesEclipse Adoptiumjdk-17.0.3.7-hotspotbinjava.exe
    • Arguments: -jar D:javaappsmyapp.jar
    • Directory: D:javaapps
  4. 点 Install
  5. 使用服务管理器启动服务

优势:开机自启、崩溃自动重启、便于管理


方式二:使用 Tomcat 部署 WAR 包

1. 下载并安装 Tomcat

  • 下载地址:https://tomcat.apache.org
  • 解压到目录,如:D:apache-tomcat-9.0.xx

2. 部署 WAR 包

myapp.war 复制到:

D:apache-tomcat-9.0.xxwebapps

3. 启动 Tomcat

运行:

D:apache-tomcat-9.0.xxbinstartup.bat

4. 设置为服务(可选)

使用 service.bat 安装为 Windows 服务:

D:apache-tomcat-9.0.xxbinservice.bat install

然后在“服务”中管理。


✅ 五、配置防火墙(重要!)

确保客户端能访问你的应用端口(如 8080)

开放端口步骤:

  1. 打开“高级安全 Windows 防火墙”
  2. “入站规则” → “新建规则”
  3. 类型:端口 → TCP → 特定本地端口:8080
  4. 允许连接
  5. 命名规则,如“Java App Port 8080”

✅ 六、监控与日志

  • 日志输出:重定向到文件或使用 logback/log4j
  • 建议使用:
    java -jar myapp.jar > app.log 2>&1
  • 查看日志:
    type app.log

    或用记事本、Notepad++ 打开


✅ 七、常见问题排查

问题 解决方案
java is not recognized 检查 JAVA_HOMEPath 环境变量
端口被占用 netstat -ano | findstr :8080 找进程并 kill
权限不足 以管理员身份运行 CMD
内存不足 添加 JVM 参数:
java -Xms512m -Xmx2g -jar myapp.jar

✅ 八、自动化脚本示例(run.bat)

@echo off
cd /d D:javaapps
echo Starting Java Application...
java -Xms512m -Xmx2g -jar myapp.jar > output.log 2>&1
pause

保存为 run.bat,双击运行(或后台运行)


✅ 总结

步骤 内容
1 安装 Java(JDK/JRE)
2 设置 JAVA_HOMEPath
3 上传 JAR/WAR 文件
4 运行应用(前台/后台/服务)
5 配置防火墙开放端口
6 日志监控与维护

如果你提供具体项目类型(如 Spring Boot、普通 Java Web、是否用数据库等),我可以给出更定制化的部署建议。

未经允许不得转载:ECLOUD博客 » Windows server部署运行java项目?