【问题标题】:Java Webstart Application - Loading Properties From a Separate FileJava Webstart 应用程序 - 从单独的文件加载属性
【发布时间】:2012-07-22 03:14:12
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: java jnlp java-web-start


    【解决方案1】:

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

    其他解决方案是:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-10-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多