在Windows下将用jFinal开发打包的jar包注册成服务执行

由于工作需在Windows下将用jFinal开发打包的jar包注册成服务执行,网上查阅相关资料已实现

步骤如下

1. 将java工程打成jar包

2. 下载winsw: https://github.com/kohsuke/winsw/releases

image.png

3. 将WinSW.NET4.exe文件复制到jar包所在文件夹中

4. 将jar程序重命名,去掉名称中的“.”。例如kaoqin-jnr-1.0.jar ----> kaoqin-jnr.jar

5. 将WinSW.NET4.exe重命名为kaoqin-jnr.exe(和jar同名)

6. 新建一个xml文件,命名为kaoqin-jnr.xml,写入配置内容(可参考Github上的说明)

<service>

     <id>kaoqin-jnr</id>

     <name>kaoqin-jnr</name>

     <description>This is kaoqin-jnr service.</description>

     <!-- java环境变量 -->

     <env name="JAVA_HOME" value="%JAVA_HOME%"/>

     <executable>java</executable>

    <arguments>-jar "E:\ZYY_KAOQIN\ZYY\kaoqin\jnr\jar\kaoqin-jnr.jar"</arguments>

     <!-- 开机启动 -->

     <startmode>Automatic</startmode>

     <!-- 日志配置 -->

     <logpath>%BASE%\log</logpath>

     <logmode>rotate</logmode>

 </service>

如果没有配置环境变量,直接将三个文件放到java的bin目录下运行,并去掉标签<env name="JAVA_HOME" value="%JAVA_HOME%"/>

7. 在相应目录下执行

image.png

kaoqin-jnr.exe  install

8. 执行services.msc,找到注册的服务,运行。

如果需要更新程序,只需要先将服务停止,再将新文件重命名为kaoqin-jnr.jar,最后启动服务就行了。

image.png

评论区

JFinal

2020-11-17 11:07

使用方法很详细,windows 下做成服务比在控制台使用的体验要好得多, 赞

opal

2020-11-17 11:24

用 nssm 更方便

冰雨

2020-11-18 22:43

很详细,赞!

十三牧

2020-11-23 14:09

标记