由于工作需在Windows下将用jFinal开发打包的jar包注册成服务执行,网上查阅相关资料已实现
步骤如下
1. 将java工程打成jar包
2. 下载winsw: https://github.com/kohsuke/winsw/releases

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. 在相应目录下执行

kaoqin-jnr.exe install
8. 执行services.msc,找到注册的服务,运行。
如果需要更新程序,只需要先将服务停止,再将新文件重命名为kaoqin-jnr.jar,最后启动服务就行了。
