如何使用Wrapper.exe传递系统属性

时间:2009-03-09 04:27:28

标签: java windows-services wrapper

如何将属性传递给Java进程,使用Wrapper.exe作为Windows服务启动?

目标代码调用:

System.getProperty("ADMIN_USERNAME");

4 个答案:

答案 0 :(得分:7)

http://wrapper.tanukisoftware.org/doc/english/prop-java-additional-n.html

您可以设置将发送到JVM的“附加参数”(而不是主类),-DADMIN_USERNAME = gandalf应该在那里工作。

wrapper.java.additional.1=-Xrs
wrapper.java.additional.2=-Dprop=TRUE
wrapper.java.additional.3=-DADMIN_USERNAME=gandalf

更新:您必须从 additional.1 开始,并且无间隙地计数(这是针对鞋类列表进入Java属性语法的惯例)。

答案 1 :(得分:0)

您可以在包装器配置文件中设置某些属性,请参阅以下链接:

http://wrapper.tanukisoftware.org/doc/english/properties.html

我相信你也可以配置启动java的包装器并使用java“-Dproperty = value”语法传递其他属性

答案 2 :(得分:0)

这是一个黑暗中的镜头,但您是否考虑过使用JMX与服务进行通信?或者这对你所需要的东西有多大?

Yuval = 8 - )

答案 3 :(得分:0)

@Thilo的回答是正确的,但我觉得我必须补充一点,您必须注意 JAVA_OPTS 环境变量。许多人/服务器都倾向于使用它(例如,远程调试),因为您放入JAVA_OPTS的内容都会作为JVM参数传递给任何新的JVM。如果您设置了此环境变量,则任何wrapper.java.additional.<n> 将被忽略。我发现这很困难:)