jar 包、exe 与系统服务
jar 包怎么执行?除了 java -jar xxx.jar 的方式,还可以打包成exe、注册系统服务
1.使用专门软件,如 exe4j、jar2exe、j2ewiz、jsmooth,配置后执行即可生成。一般都是要指定运行时、jar包、主类。
2.使用 maven 的插件 launch4j-maven-plugin
3.使用 jdk 内置的 javapackager、jpackage、javafxpackager
javafxpackager -deploy -native image -appclass org.springframework.boot.loader.JarLauncher -srcdir D:\config -outdir D:\config\exe -outfile eurkaApp -name eurkaServer
4.不封装 exe,直接执行。可选的方案就是编写 shell 脚本或者使用 winsw
使用 winsw 运行程序时需编写运行程序的配置文件
<service>
<id>jenkins</id>
<name>Jenkins</name>
<description>This service runs Jenkins continuous integration system.</description>
<env name="JENKINS_HOME" value="%BASE%"/>
<executable>java</executable>
<arguments>-Xrs -Xmx256m -jar "%BASE%\jenkins.war" --httpPort=8080</arguments>
<logmode>rotate</logmode>
</service>
然后使用 winsw install 即可以安装为系统服务。因版本差异,因此实际使用时需参照官方说明 https://github.com/winsw/winsw
系统服务如何注册呢?
1.powshell 内置的 cmdlet
#PowerShell 6+ 中执行 #注册服务 New-Service -Name "YourServiceName" -BinaryPathName "Your/Absolute/Path/To/AppName.exe" #删除服务(有的版本不可用) Remove-Service -Name "YourServiceName" #删除服务 sc.exe delete "YourServiceName"
#查找服务,可查看状态
Get-Service -Name "YourServiceName"
#或命令行运行 services.msc 查找
#启动服务
Start-Service -Name "YourServiceName"
#停止服务
Stop-Service -Name "YourServiceName"
2.使用 winsw
winsw install
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

浙公网安备 33010602011771号