Java Webstart应用程序 - 从单独的文件加载属性

时间:2012-07-23 20:33:45

标签: java jnlp java-web-start

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

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

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

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

2 个答案:

答案 0 :(得分:2)

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

其他解决方案是:

  • 将属性文件放在主jar或单独的jar中,并将其作为资源添加。
  • 将属性文件的位置作为属性或主参数放置,并从程序本身下载。

答案 1 :(得分:0)

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

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