问题标签 [apache-commons-daemon]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java-9 - 是否可以使用 jvm 模式使用 prunsrv 启动 Java 运行时映像?
背景:从 Java 9 开始,可以使用jlink创建自定义运行时映像(JRE+程序)。
可以使用prunsrv.exe(Apache Commons Daemon的一部分)将 Java 程序安装为 Windows 服务。
prunsrv可用于三种启动模式:java、jvm和exe。
我设法使用exe模式启动自定义运行时映像,并使用jvm模式启动传统 Java 程序(类路径 + 普通 JDK),但我无法使用jvm模式(不会启动新进程)与图像.
prunsrv有一个“ JvmOptions9 ”参数,这可能暗示可能支持这种情况,但我不确定。
java - Procrun (prunsrv.exe) 无法使用 JDK 11 自动找到 jvm.dll
在装有 JDK 11 的 Windows 机器上使用最新的 Apache Commons Daemon 1.2.0,它无法自动找到 jvm.dll 文件并抛出以下错误:
我需要打开服务的属性并手动将其指向我的 JDK 安装目录中的 jvm.dll 文件。
有没有办法可以将其设置为在安装服务时自动查找文件?JDK 8 就像一个魅力。
jetty - 使用 Apache 守护程序作为 Windows 服务运行时,嵌入式码头未启动
我正在尝试使用 Apache Commons Daemon 1.2.0 将嵌入式码头作为 Windows 服务运行。我可以使用 java -jar 运行嵌入式码头 jar 并成功启动服务器,但是当我尝试使用 Apache Daemon 运行它时它不起作用。
我正在使用 maven shade 插件来生成嵌入式 jar。
使用以下命令使用 prunsrv 安装后启动服务时,日志中会打印以下内容并且服务未启动:
winserv 守护进程日志:
在说明使用 Windows 管理工具 > 服务时,我得到:
试过此服务将无法启动:错误 1067:进程意外终止,但没有帮助。
下面是创建嵌入式码头 jar 的代码: 启动码头的类:
pom.xml 用于使用 maven shade 生成嵌入式码头 jar:
java - 错误“目录名称无效。” 使用 apache daemon windows service 执行 jar 时
我正在尝试将一个简单的 java jar 作为 Windows 服务运行。创建服务并尝试启动它后,我收到以下错误:
ServiceStart 返回 5。目录名无效。
完整日志:
即使我以管理员身份运行命令,Windows 事件查看器也会显示以下内容:
用于创建服务的命令:
开始.bat
我在 daemon.jar 中有一个非常简单的代码,如下所示,如果使用 java -jar 执行,jar 可以工作:
wildfly - 将 Wildfly 作为 Windows 服务启动并等待启动完成
我一直在使用http://commons.apache.org/proper/commons-daemon/为 Wildfly 启动创建 Windows 服务(使用某些博客中建议的 exe 模式)。问题是,该服务立即被标记为正在运行。我还有一些其他服务只有在 Wildfly 启动并运行后才允许启动。使这些服务依赖于 Wildfly 服务是行不通的,因为启动需要 20-60 秒。
有没有办法让 procrun 在服务被标记为运行之前等待返回值或至少等待固定时间?
windows - Apache Common Daemons:PrunServ --StartPath 参数覆盖 Windows 上的 PATH
我在 Windows 10 工作站上运行一个 java 程序。
我想将我的 java 程序作为服务运行,所以我使用了 apache commons tool prunserv http://commons.apache.org/proper/commons-daemon/procrun.html
问题是我的 java 程序在其中运行一些 windows shell 命令,cmd \c netstat -rn
但是当我将我的 java 程序作为服务启动并将 StartPath 指定为某个目录时。我的 java 程序中的命令失败并出现如下错误
我觉得 procrun 的 StartPath 参数覆盖了 C:\Windows\System32 等 PATH 变量,从而使 java 程序中的命令失败
--StartPath 启动映像可执行文件的工作路径。
我应该如何处理这种情况?
如果您需要更多详细信息,请告诉我。
提前感谢您的帮助。
windows - 使用 apache commons 创建的 Windows 服务未正确启动,并且找不到 jvm.dll 的路径错误
我在 windows server 2019 build 1809 上运行 java 程序作为 windows 服务。
我正在使用 apache commons procrun 创建 Windows 服务。
这是我启动服务的配置
当我启动服务时,它失败并出现以下错误
注意 - jvm.dll 在配置和错误日志中也有正确的路径。
我的配置
apache commons procrun 是 64 位的
我提供的 JRE 也是 64 位的
Windows 服务器也是 64 位的
让我知道是否需要任何其他详细信息
提前致谢。
java - 无法在 jvm 模式下运行 windows 服务:错误 1067
我正在尝试使用 Apache Common Daemons 创建 Windows 服务,但我无法使其按预期工作。
使用jvm 模式它总是返回错误 1067,没有进一步的解释。这是procrun日志:
由于我需要 RXTX 并且我没有找到有效的 64 位实现(这是另一个故事),我被迫使用 32 位 jre:
所以我尝试了两个 procrun 版本:64 位和 32 位。没有区别。在这两种情况下,Windows 事件记录器都会报告没有有用信息的崩溃,至少对我来说不是。
下面是 procrun 配置/设置脚本:
将jvm值设置为auto或一些无意义的乱码(比如说随机字符)也没有什么区别。但至少如果使用java模式(而不是jvm)它会启动。至少。Stop动作不起作用;我想它是在一个新的 jvm 会话中产生的,因为控制变量不受停止调用的影响。
下面是使用的 java 代码示例(由于我不需要 Linux 可移植性,因此直接取自 Apache 站点并进行了一些修改。
我正在(拼命地)寻找一种让它在 jvm 模式下工作的方法,或者在用户想要时正确停止服务的任何其他魔术。
windows - 使用 Windows 服务启动 Cassandra 时“创建 Java 失败”
我已经让 Cassandra 3.11.1 正常运行,没有出现 Java 问题。我一直在尝试按照安装指南中的建议使用 Apache Commons Daemon 将其设置为服务。我能够将其安装为服务,但是当我尝试通过 Windows 服务管理器启动该服务时,它失败了。日志内容如下:
通过 cassandra 配置,我指向 64 位守护进程 prunsrv 应用程序。
由于 cassandra 似乎可以自己完美地工作,所以它似乎是 prunsrv 的问题,但我不知道如何追踪它。我见过类似的问题,但似乎总是 32 位与 64 位的问题或 cassandra 的错误环境路径。这些对我来说似乎很好。
谢谢!