【问题标题】:How would you use Apache Daemon to run a Java application (in Windows )?您将如何使用 Apache Daemon 运行 Java 应用程序(在 Windows 中)?
【发布时间】:2015-10-24 20:25:41
【问题描述】:

我下载了 Apache Daemon ,但运行时遇到了一些问题。

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

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

jar -xf commons-daemon-1.0.15.jar

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

任何有用的提示,谢谢

【问题讨论】:

标签: java apache-commons-daemon


【解决方案1】:

根据 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 服务中看到您的服务。

【讨论】:

  • 如何运行可执行的 jar 文件而不是类?
猜你喜欢
  • 1970-01-01
  • 2015-10-09
  • 2016-06-09
  • 1970-01-01
  • 1970-01-01
  • 2017-11-19
  • 1970-01-01
  • 2016-08-17
  • 1970-01-01
相关资源
最近更新 更多