JNLP/Webstart - 设置环境变量

3

有没有一种通过jnlp文件设置环境变量的方法?我想设置JAVA_TOOL_OPTIONS,以便使用aspectj进行LTW。

谢谢


为什么需要设置JAVA_TOOL_OPTIONS,当你使用JNLP时可以访问JVM环境变量,就像我的回答所述? - banjollity
不是真正的答案,而是一个补充: 这里有一个相关的错误可以投票,以启用在加载时编织Webstart应用程序:http://bugs.sun.com/view_bug.do?bug_id=6356496 - Holger
4个回答

3
在JNLP的资源部分,您可以在jar文件后添加任意数量的property节点。这些节点等同于命令行上的-D选项。
<resources>
    <j2se...
    <jar href="...

    <property name="env0" value="value0"/>
    <property name="env1" value="value1"/>
    <property name="env2" value="value2"/>
</resources>

很遗憾,我认为那并没有帮助。在我的测试中,将JAVA_TOOL_OPTIONS设置为属性没有任何影响。实际上,设置属性是否应该等同于环境变量?我想设置JAVA_TOOL_OPTIONS是为了为加载时编织定义一个新的javaagent。 - Colin Goudie
属性不是环境变量。 - skiphoppy

1

前往Java控制面板,在Java选项卡中选择查看。在给定JRE的运行时参数字段中添加:

-javaagent=c:\MyAgent.jar

只要您的代理程序在MyAgent.jar文件中,就可以提供服务。
根据您的代理代码,输出应该出现在Java控制台中。

1

我认为你最好的选择是在运行Java Web Start之前在客户端设置变量。

如果有一种传递参数给JVM的方法,如果有一个JVM参数可以实现你想要的功能 - 我不确定JAVA_TOOL_OPTIONS是做什么的。


问题在于这将否定使用WebStart的作用。目前看来,我们将不得不使用编译时织入而不是加载时织入。 - Colin Goudie

0

目前似乎没有办法通过WebStart设置Java代理,这会导致我们无法在WebStart应用程序中使用加载时织入。现在我们将回归到编译时织入。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接