Java Web Start - 在jnlp中访问环境变量java.io.tmpdir

时间:2013-04-29 15:41:22

标签: java eclipse-rcp environment-variables jnlp java-web-start

我尝试配置osgi实例和配置文件夹的路径,以启动我的Eclipse RCP应用程序。为此,我在jnlp文件的标记中配置以下内容:

<!-- Information usually specified in the config.ini -->
<property name="osgi.instance.area" value="@java.io.tmpdir"/>
<property name="osgi.configuration.area" value="@java.io.tmpdir"/>

不幸的是,“java.io.tmpdir”被解释为文字而不是环境变量。配置user.home的路径工作正常,但这不是我想要的,因为我的用户主页位于网络设备上,我的%TEMP%位于我的本地驱动器上c:

在任何示例中,我发现使用user.home配置如下:

<!-- Information usually specified in the config.ini -->
<property name="osgi.instance.area" value="@user.home/Application Data/demo"/>
<property name="osgi.configuration.area" 
   value="@user.home/Application Data/demo"/>

我在Windows Vista上使用JDK 1.6.0_27和1.6.0_37进行了尝试。

我会感谢任何帮助,因为我现在暂时停留在这个问题上。

2 个答案:

答案 0 :(得分:0)

The Eclipse runtime options记录哪些参数可用,哪些位置可以解决(例如osgi.user.area,osgi.install.area ...)。查看“位置”部分。请注意,在本地或通过WebStart启动Eclipse RCP时,这些位置会有不同的解决方法。

答案 1 :(得分:0)

有点晚了,但我还是想发布我的解决方案:

我打开一个自定义的Launcher类并在我的JNLP文件中配置它(&lt; application-desc main-class =“de.my.package.launcher.Launcher”&gt;)。 在我的Launcher类中,我设置了所需的变量,之后我调用了Equinox Launcher的main方法。 我知道这不是一个非常有魅力的解决方案,但至少它有效; - )