参考地址=https://github.com/kohsuke/winsw winsw.exe服务配置程序下载地址=http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/ 源码下载地址=https://github.com/kohsuke/winsw/releases
下载winsw-xxx-bin.exe文件
使用此地址下载: http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/
生成.xml配置,具体xml配置内容如下
<configuration> <!-- 服务ID,必须唯一--> <id>MyApp</id> <!-- 服务名称 --> <name>MyApp</name> <!-- 服务描述 --> <description>服务描述</description> <!-- 环境变量配置 --> <!--<env name="MY_APP_HOME" value="F:\service" /> --> <!-- 启动可执行文件的路径(C:\java\jdk1.8.0_181\bin\java) 如果已经配置了java环境变量,可以使用以下(java)简写, 也可以使用相对路径的方式配置jdk/jre的java可执行文件路径 %BASE%指当前目录下 --> <executable>"%BASE%\jre\bin\java"</executable> <!-- 托管可执行文件失败情况下执行的操作: restart, reboot, none --> <onfailure action="restart" delay="20 sec"/> <onfailure action="restart" delay="40 sec"/> <onfailure action="none" /> <!-- jar文件的启动命令 --> <arguments>-jar "%BASE%\MyApp.jar" --server</arguments> <!-- 如果startarguments被指定,会覆盖arguments标签的配置, 须与stopexecutable、stoparguments标签配合使用,暂未验证 --> <!--<startarguments></startarguments> <stopexecutable></stopexecutable> <stoparguments></stoparguments> --> <!-- 设置可执行文件的默认工作目录 如果不设置,默认为服务包装器可执行文件的目录 <workingdirectory>F:\service</workingdirectory> --> <!-- 期望的处理优先级: Normal, Idle, High, RealTime, BelowNormal, AboveNormal 默认: Normal --> <priority>Normal</priority> <!-- 服务启动模式: Automatic, Manual, Boot, System (后者仅支持驱动程序服务) 默认为Automatic --> <startmode>Manual</startmode> <!-- 日志存储位置 --> <logpath>logs</logpath> <!-- 按大小和时间模式旋转,在旋转尺寸模式和旋转时间模式的组合中工作, 如果日志文件大于设定大小,则使用<pattern>提供的旋转。 --> <log mode="roll-by-size-time"> <sizeThreshold>10240</sizeThreshold> <pattern>yyyyMMdd</pattern> <autoRollAtTime>00:00:00</autoRollAtTime> <zipOlderThanNumDays>5</zipOlderThanNumDays> <zipDateFormat>yyyyMM</zipDateFormat> </log> </configuration>
把.jar,.exe,和.xml文件名修改为与xml中id标签的名字一致
上一步id标签的值为MyApp 那么我们就把jar,exe,xml的文件都命名为MyApp MyApp.jar MyApp.exe MyApp.xml
#安装服务 ./MyApp.exe install MyApp #启动服务 ./MyApp.exe strat MyApp #详细命令 install 将服务安装到Windows服务控制器 uninstall 卸载服务 start 启动服务(必须在安装之前安装) stop 停止服务 stopwait 停止 restart 重新启动服务 restart! 自重启(可从子进程调用) status 检查服务的当前状态 test 检查服务是否可以启动然后停止 testwait 启动服务并等待按键,然后停止服务 version 打印版本信息 help 打印帮助信息(别名:-h,--help,-?,/?) #备注服务安装后也可以在我的电脑=> 管理 => 找到配置的服务名称设置启动方式