Java 应用 Windows 开机启动

使用 WinSW 将 Java 应用配置为 Windows 服务的步骤

1. 下载 WinSW

  1. 打开 WinSW 的官方页面:WinSW Releases
  2. 下载适合系统的可执行文件(如 WinSW-x64.exe),WinSW-x64.exe 蓝奏云备份下载
  3. 重命名下载的文件为服务名,例如 MyAppService.exe

2. 准备配置文件

MyAppService.exe 所在目录创建一个 MyAppService.xml 文件,并按照以下内容填写:

<service>
  <!-- 服务 ID,用于唯一标识服务 -->
  <id>MyAppService</id>

  <!-- 服务显示名称,出现在服务管理器中 -->
  <name>我的 Java 应用服务</name>

  <!-- 服务描述信息 -->
  <description>这是一个通过 WinSW 运行的 Java 后端应用程序。</description>

  <!-- Java 可执行文件的路径 -->
  <executable>java</executable>

  <!-- JVM 参数及目标 jar 文件路径 -->
  <arguments>-Xms512m -Xmx1024m -jar "C:\path\to\app\app.jar"</arguments>

  <!-- 工作目录,可选,如果路径都使用绝对路径则可省略 -->
  <workingdirectory>C:\path\to\app</workingdirectory>

  <!-- 日志文件目录 -->
  <logpath>C:\path\to\logs</logpath>

  <!-- 启用标准输出日志 -->
  <stdoutLogEnabled>true</stdoutLogEnabled>

  <!-- 启用错误输出日志 -->
  <stderrLogEnabled>true</stderrLogEnabled>
</service>

注意:

  • 路径中的 \ 必须用双引号括起来,例如 "C:\path\to\app\app.jar"
  • 如果需要配置多个应用,参考下文的 “多个应用部署” 步骤。

3. 安装服务

  1. 打开命令提示符,右键以管理员身份运行。

  2. 切换到 MyAppService.exe 所在的目录。

  3. 执行以下命令安装服务:

MyAppService.exe install

安装成功后,服务会出现在 Windows 服务列表中。

4. 启动服务

启动服务:

MyAppService.exe start

检查服务状态:

MyAppService.exe status

如果状态为

Started

,表示服务运行正常。

5. 查看日志

服务运行时,日志会保存在 <logpath> 指定的目录中:

  • 标准输出日志:stdout.log
  • 错误输出日志:stderr.log

如果日志目录不存在,WinSW 会自动创建。

6. 停止或卸载服务

停止服务:

MyAppService.exe stop

卸载服务:

MyAppService.exe uninstall

7. 多个应用部署

如果需要为多个 Java 应用配置服务,可以为每个应用创建一个独立的 WinSW 实例。

  1. 为每个应用创建一个独立的 WinSW 可执行文件和配置文件。
    例如:
    • 应用 1:App1Service.exeApp1Service.xml
    • 应用 2:App2Service.exeApp2Service.xml
  2. 为每个服务分别设置唯一的 <id><name>,以及不同的工作目录和日志目录。

示例:
应用 1 的配置文件 App1Service.xml

<service>
  <id>App1Service</id>
  <name>Java 应用 1 服务</name>
  <description>这是 Java 应用 1。</description>
  <executable>java</executable>
  <arguments>-Xms512m -Xmx1024m -jar "C:\path\to\app1\app1.jar"</arguments>
  <workingdirectory>C:\path\to\app1</workingdirectory>
  <logpath>C:\path\to\logs\app1</logpath>
  <stdoutLogEnabled>true</stdoutLogEnabled>
  <stderrLogEnabled>true</stderrLogEnabled>
</service>

应用 2 的配置文件 App2Service.xml

<service>
  <id>App2Service</id>
  <name>Java 应用 2 服务</name>
  <description>这是 Java 应用 2。</description>
  <executable>java</executable>
  <arguments>-Xms256m -Xmx512m -jar "C:\path\to\app2\app2.jar"</arguments>
  <workingdirectory>C:\path\to\app2</workingdirectory>
  <logpath>C:\path\to\logs\app2</logpath>
  <stdoutLogEnabled>true</stdoutLogEnabled>
  <stderrLogEnabled>true</stderrLogEnabled>
</service>

分别安装服务:

App1Service.exe install
App2Service.exe install

启动服务:

App1Service.exe start
App2Service.exe start

示例文件结构

如果有多个应用,建议目录结构如下:

C:\path\to\
│
├── app1\
│   ├── app1.jar
│   └── logs\
│
├── app2\
│   ├── app2.jar
│   └── logs\
│
├── App1Service.exe
├── App1Service.xml
├── App2Service.exe
└── App2Service.xml

按照以上步骤配置,WinSW 可以方便地为多个 Java 应用提供服务管理功能!

8.设置开机启动

按 win 键,输入“服务”,找到 相应名称的 服务,设置开机启动

比如以前设置 frpc 开机启动

posted @ 2024-12-05 10:29  ioufev  阅读(643)  评论(0)    收藏  举报