2

我目前正在将我们的项目设置为通过 java webstart 部署给用户,而不是当前用户从共享网络驱动器运行 .bat 文件的设置。当应用程序运行时,它会传递一个属性文件参数,其中包含诸如允许在不同环境之间切换的数据库凭据等信息。

我想知道是否有办法在 JNLP 文件中指定它并让 webstart 从 web 服务器中下拉属性文件。我花了很多时间在线调查这个问题,我唯一能想到的就是简单地将文件名指定为参数,如下所示:

    <application-desc main-class="Main"> 
        <argument>example.properties</argument> 
    </application-desc>

然后包含一个单独的链接,让用户从服务器下载属性文件。这样做的问题是,如果 JNLP 文件和属性文件没有下载到同一个目录(这似乎是 IE 中的默认行为),那么整个应用程序就会崩溃。有没有一种方法可以将我的属性文件与 JNLP 文件中的其他资源捆绑在一起,或者我是否会以一种完全不正确的方式进行处理?任何帮助将不胜感激!

4

2 回答 2

2

您可以在 .jnlp 文件本身中设置属性,而不是使用单独的属性文件。 http://www.coderanch.com/t/200871/JNLP-Web-Start/java/Properties-files-JNLP

其他解决方案是:

  • 将属性文件放在主 jar 或单独的 jar 中,并将其添加为资源。
  • 将属性文件的位置作为属性或主要参数,然后从程序本身下载。
于 2012-07-23T22:45:28.503 回答
0

看起来 jnlp 是一个 XML 文件,其中包含要放置在类路径中的 jar 文件列表。
如果您在其中一个 jar 中包含一个属性文件,那么您可以使用 this.getClass().getClassLoader().getResourceAsStream("mypropsname.properties") 来读取它。

您的所有用户都需要相同的属性文件吗?

于 2012-07-23T22:45:14.683 回答