我下载了Apache Daemon,但我在运行时遇到了一些问题。
在命令行中我试图提取JAR
文件(文件目录。如下所示):
我这样做,使用此命令(在CMD中):
jar -xf commons-daemon-1.0.15.jar
但这没有做任何事情。我一直在寻找启动守护进程工具的方法,以便Windows可以开始运行Java服务。
任何有用的提示,谢谢
答案 0 :(得分: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
使用命令行或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
您现在应该在Windows服务中看到您的服务。