Java jar 在Windows上运行的方法

  本文列出Java jar包在windows系统上运行的三种方式。

CMD命令行方式运行

  这种方式非常简单,打开cmd窗口,输入如下命令即可:

java -jar test.jar

使用批处理脚本运行

  使用cmd命令行方式虽然很简单,但是每次都要打开cmd窗口再输入命令,还是有些麻烦,可以写个批处理脚本来代替。先创建个bat文件,比如:run.bat,输入下面几行:

@echo off
start javaw -jar C:\Users\samsung\Desktop\test.jar
exit

  保存后,双击运行即可。

  其中,@echo off: 当执行失败的时候,不打印失败信息,根据自己需要选用。

作为Windows服务在后台运行

  Java jar 作为Windows服务在后台运行需要借助于第三方工具,常用的是JavaService.exe这个工具,下载地址:http://download.forge.ow2.org/javaservice,64位系统(Java也是64位的)的话必须下载64位版本,比如:JavaService_2_0_10-amd64.zip。

  要以Windows服务方式运行需要先注册Windows服务,然后才能启动服务。

  注册服务

  下载的压缩包解压后即可使用,打开CMD窗口,进入JavaService.exe所在目录,输入如下命令:

JavaService.exe -install test "%JAVA_HOME%"\jre\bin\server\jvm.dll -Djava.class.path=C:\Users\samsung\Desktop\test.jar;"%JAVA_HOME%"\lib\tools.jar -Xms64M -Xmx512M -start org.springframework.boot.loader.JarLauncher

  显示如下结果即为注册成功:

C:\Users\samsung\Desktop>JavaService.exe -install test "%JAVA_HOME%"\jre\bin\server\jvm.dll 
-Djava.class.path=C:\Users\samsung\Desktop\test.jar;"%JAVA_HOME%"\lib\tools.jar -Xms64M -Xmx512M
-start org.springframework.boot.loader.JarLauncher
The test automatic service was successfully installed

  参数解释:

  -install test:指定服务名,当前注册的服务名为:test;
  -Djava.class.path=C:\Users\samsung\Desktop\test.jar:指定jar包的路径;
  -start org.springframework.boot.loader.JarLauncher:指定启动类,即 main 函数所在类,需要带上包名。

 

注销服务

  注销服务输入如下命令:

JavaService.exe -uninstall test

  显示如下结果即为注销成功:

C:\Users\samsung\Desktop>JavaService.exe -uninstall test
Successfully uninstalled service test

启动服务

C:\Users\samsung\Desktop>net start test
test 服务正在启动 .
test 服务已经启动成功。

关闭服务

C:\Users\samsung\Desktop>net stop test
test 服务正在停止.
test 服务已成功停止。

注意事项:
  1. 选择正确的JavaService.exe版本,根据自己的实际情况选择下载32位或64位版本。
  2. 启动类类名必须正确,比如springboot项目,其启动类为:org.springframework.boot.loader.JarLauncher。

  上述两点需要注意,如果不对的话会导致服务可以注册但无法启动的问题,报错如下:

C:\Users\xxx\Desktop\JavaService-2.0.10>net start test
test 服务正在启动 .
test 服务无法启动。

服务没有报告任何错误。

请键入 NET HELPMSG 3534 以获得更多的帮助。
原文地址:https://www.cnblogs.com/leaves1024/p/11301843.html