パッケージ化されたJARローカルサービス登録システムをspringbootますwinswを使用します

1、ダウンロードwinsw

ダウンロード

https://github.com/kohsuke/winsw/releases

私は、バージョン2.3.0をダウンロードするためにここにいます。

 

 

 

 

ダウンロードサンプルminimal.xmlとWinSW.NET4.ext二つのファイル

 

 

 

 

 

同じフォルダ内の2、3つのファイル

WinSW.NET4.exe

サンプルminimal.xml

springbootジャー包

 

 

 

3、ファイル名を変更

XMLに同じ名前のプログラムを実行するWinswの必要性、サービスの命名+プロジェクト名をお勧めします、例えば:

WinSW.NET4.exeはrexel-ミドルウェア-0.0.1.exeに変更しました

サンプルminmal.xml rexel-ミドルウェア-0.0.1.xmlを変更します。

 

 

 

 

4、編集xmlファイル

 

 

 設定内容

<configuration>
    <!--安装成Windows服务后的服务名-->
    <id>rexel-middleware</id>
    <!--显示的服务名称-->
    <name>rexel-middleware</name>
    <!--对服务的描述-->
    <description>rexel-middleware for hzzg project</description>
    <!--这里写java的路径,如何配置了环境变量直接写"java"就行-->
    <executable>java</executable>
    <!---jar后面的是项目名,可以配置内存限制如-Xmx256m代表堆内存最大值为256MB -->
    <arguments>-jar rexel-middleware-0.0.1.jar</arguments>
    <!--日志模式-->
    <logmode>rotate</logmode>
</configuration>

 

5、执行命令安装 服务

打开系统命令行窗口,进入到rexel-middleware-0.0.1.exe所在文件夹,

然后执行命令安装服务命令:rexel-middleware-0.0.1.exe install。

执行发现报错如下:

 

错误日志:

D:\MyWork\22_Github\rexel-cn\rexel-jarvis\rexel-middleware\install>rexel-middleware-0.0.1.exe install
2019-12-02 10:25:24,938 INFO  - Installing the service with id 'myapp'
2019-12-02 10:25:24,964 FATAL - WMI Operation failure: AccessDenied
WMI.WmiException: AccessDenied
   在 WMI.WmiRoot.BaseHandler.CheckError(ManagementBaseObject result)
   在 WMI.WmiRoot.ClassHandler.Invoke(Object proxy, MethodInfo method, Object[] args)
   在 winsw.WrapperService.Run(String[] _args, ServiceDescriptor descriptor)
   在 winsw.WrapperService.Main(String[] args)
WMI.WmiException: AccessDenied
   在 WMI.WmiRoot.BaseHandler.CheckError(ManagementBaseObject result)
   在 WMI.WmiRoot.ClassHandler.Invoke(Object proxy, MethodInfo method, Object[] args)
   在 winsw.WrapperService.Run(String[] _args, ServiceDescriptor descriptor)
   在 winsw.WrapperService.Main(String[] args)

 

解决方法:使用管理员权限重新打开cmd窗口,重新执行rexel-middleware-0.0.1.exe install

 

 

 6、启动服务

命令提示符界面输入命令启动服务。

命令:net start myapp

 

 

7、查看是否启动成功

打开系统服务功能:运行——输入services.msc

即可看见自己命名的服务MyApp Service。

 

 

8、重启测试

重启电脑后该服务会自动启动,执行第6步(net start myapp)可检查是否成功。

 

9、删除服务

分为两步:1停止服务;2删除服务,都是在命令行界面实现。

命令提示符界面输入命令"net stop myapp"停止运行服务。
命令提示符界面输入命令"myapp.exe uninstall"可删除服务。

 

10、修改为批处理文件

上面所有的命令都可以写在批处理文件中,部署的时候就可以实现一键部署了。

例如start.bat内容如下:
rexel-middleware-0.0.1.exe install
net start myapp

例如myProjectStop.bat内容如下:
net stop myapp
rexel-middleware-0.0.1.exe uninstall

 

おすすめ

転載: www.cnblogs.com/quchunhui/p/11969280.html