速卖通素材
努力

window server部署JAVA项目?

服务器

在 Windows Server 上部署 Java 项目是一个常见需求,尤其适用于企业级应用。以下是详细的步骤和建议,帮助你在 Windows Server 上成功部署 Java 项目(如 Spring Boot、Java Web 应用等)。


一、环境准备

1. 安装 Java 运行环境(JRE 或 JDK)

  • 下载 JDK

    • 推荐使用 Oracle JDK 或 OpenJDK(如 Adoptium/Eclipse Temurin、Amazon Corretto、Azul Zulu 等)。
    • 下载地址示例:https://adoptium.net/
  • 安装 JDK

    • 运行安装包(如 jdk-17_x64.exe),选择安装路径(例如:C:Program FilesJavajdk-17)。
  • 配置环境变量

    • 打开「系统属性」→「高级系统设置」→「环境变量」
    • 添加或修改以下变量:
    JAVA_HOME = C:Program FilesJavajdk-17
    Path       = %JAVA_HOME%bin
  • 验证安装:

    java -version
    javac -version

    如果显示版本信息,则安装成功。


2. 安装 Maven(可选,用于构建项目)

如果你的项目是基于 Maven 的源码,需要 Maven 构建。

  • 下载 Apache Maven:https://maven.apache.org/download.cgi
  • 解压到目录(如 C:apache-maven-3.9.6
  • 配置环境变量:

    MAVEN_HOME = C:apache-maven-3.9.6
    Path       = %MAVEN_HOME%bin

验证:

mvn -v

二、获取并构建 Java 项目

方式 1:已有 JAR 包(推荐用于生产)

如果你已经有打包好的 .jar 文件(如 Spring Boot 项目):

  • your-app.jar 上传到服务器某个目录,例如:C:deploymyapp

方式 2:从源码构建

如果只有源码(如 Git 仓库):

git clone https://your-repo.git
cd your-project
mvn clean package

生成的 JAR 文件通常在 target/ 目录下。


三、运行 Java 项目

1. 直接运行 JAR(适用于 Spring Boot)

java -jar your-app.jar

例如:

java -jar myapp-0.0.1-SNAPSHOT.jar

2. 后台运行(避免关闭窗口时停止)

使用 nohup 不适用 Windows,改用如下方式:

方法一:使用 start /B 命令(CMD)
start /B java -jar myapp.jar > log.txt 2>&1
方法二:使用 PowerShell 后台运行
Start-Process java -ArgumentList "-jar","myapp.jar" -RedirectStandardOutput "output.log" -RedirectStandardError "error.log" -NoNewWindow
方法三:使用 NSSM 将 Java 程序注册为 Windows 服务(推荐)

推荐用于生产环境,实现开机自启、崩溃自动重启。

  1. 下载 NSSM:https://nssm.cc/download
  2. 解压后运行 nssm install MyJavaApp
  3. 配置:
    • Application tab:
      • Path: C:Program FilesJavajdk-17binjava.exe
      • Arguments: -jar "C:deploymyappmyapp.jar"
      • Startup directory: C:deploymyapp
  4. 点击 Install service
  5. 启动服务:
    net start MyJavaApp

四、配置端口与防火墙

1. 确保应用端口开放(默认 8080)

  • 在代码中确认 application.propertiesapplication.yml 设置了正确端口:

    server.port=8080

2. 开放 Windows 防火墙端口

  • 打开「Windows Defender 防火墙」→「高级设置」
  • 添加入站规则,允许 TCP 端口 8080

或者用命令:

netsh advfirewall firewall add rule name="Java App Port 8080" dir=in action=allow protocol=TCP localport=8080

五、访问应用

浏览器访问:

http://<服务器IP>:8080

确保服务器网络允许外部访问(云服务器需配置安全组)。


六、日志管理

  • 查看输出日志文件(如 log.txtoutput.log
  • 可结合 Logback 或 Log4j2 配置日志输出路径

七、其他建议

项目 建议
JVM 参数 使用 -Xms-Xmx 控制内存:java -Xms512m -Xmx2g -jar app.jar
反向X_X 使用 IIS + ARR 或 Nginx(Windows 版)做反向X_X,隐藏端口
监控 使用 JConsole、VisualVM 或 Prometheus + Micrometer 监控
自动化部署 结合 Jenkins、GitLab CI 实现自动构建部署

示例:完整部署 Spring Boot 项目

# 1. 准备目录
mkdir C:deploydemo
copy demo.jar C:deploydemo

# 2. 运行(前台)
cd C:deploydemo
java -jar demo.jar

# 3. 或后台运行
start /B java -jar demo.jar > app.log

# 4. 注册为服务(使用 NSSM)
nssm install MySpringBootApp
# 配置路径和参数后安装
net start MySpringBootApp

如有具体项目类型(如 WAR 包部署到 Tomcat),也可以进一步说明,我会提供对应方案。

是否需要我提供 Tomcat 部署 WAR 包使用 Nginx 反向X_X 的教程?

未经允许不得转载:轻量云Cloud » window server部署JAVA项目?