您将如何使用Apache Daemon运行Java应用程序(在Windows中)?

Cof*_*fee 0 java apache-commons-daemon

我下载了Apache Daemon,但是我在运行它时遇到了一些问题.

在命令行中,我正在尝试提取JAR文件(文件目录.如下所示):

在此输入图像描述

我这样做,通过使用此命令(在CMD中):

jar -xf commons-daemon-1.0.15.jar
Run Code Online (Sandbox Code Playgroud)

但这没有做任何事情.我一直在寻找启动守护进程工具的方法,以便Windows可以开始运行Java服务.

任何提示都有帮助,谢谢

Spa*_*ero 5

根据Apache网站http://commons.apache.org/proper/commons-daemon/procrun.html,

"Procrun是一组应用程序,允许Windows用户将(大部分)Java应用程序(例如Tomcat)包装为Windows服务.可以将服务设置为在计算机启动时自动启动,并且将继续运行而无需用户登录机."

Procrun包含两个应用程序,Prunmgr和Prunsrv.Prunmgr是一个用于监视和配置procrun服务的GUI应用程序.Prunsrv是一个用于将应用程序作为服务运行的服务应用程序.它可以转换任何应用程序(不仅仅是Java应用程序)作为服务运行.

下载Prunmgr和Prunsrv的位置:http: //www.apache.org/dist/commons/daemon/binaries/windows/

注意:您也可以从Tomcat网站下载这两个可执行文件.http://tomcat.apache.org/download-90.cgi但是,您找不到您期望看到的文件.Tomcat使用相同的文件,但是,他们只是将它们重命名为其他文件.如果你想使用Tomcat版本9,Prunsrv是Tomcat9.exe而Prunmgr是Tomcat9w.exe

对于我的基本示例,我在Eclipse中创建了一个示例项目,并使用了此源代码中的示例代码:http://web.archive.org/web/20090228071059/http://blog.platinumsolutions.com/node/234

注意:我必须安装JDK 7,因为Eclipse Mars需要JDK 7.

然后我需要使用javac可执行文件将我的Java文件转换为类文件.获得类文件后,我创建了一个类似于下图的目录结构.注意,我将Prunmgr重命名为myServicew.exe,将Prunsrv重命名为myService.exe.

E:\MyService
   \bin
      \myService.exe
      \myServicew.exe
    \classes
      \MyService.CoolService.MyService.class
    \logs
Run Code Online (Sandbox Code Playgroud)

使用命令行或Windows Powershell,导航到bin目录并使用以下命令安装Windows服务:

myService.exe //IS//MyService --Install=E:\MyService\bin\myService.exe --Description="My Java Service" --Jvm=C:\glassfish4\jdk7\jre\bin\server\jvm.dll --Classpath=E:MyServiceclasses --StartMode=jvm --StartClass=MyService.CoolService.MyService --StartMethod=windowsService --StartParams=start --StopMode=jvm --StopClass=MyService.CoolService.MyService --StopMethod=windowsService --StopParams=stop --LogPath=E:\MyService\logs --StdOutput=auto --StdError=auto
Run Code Online (Sandbox Code Playgroud)

您现在应该在Windows服务中看到您的服务.

  • 你如何运行可执行的 jar 文件而不是类? (2认同)