我目前正在设置我们的项目,通过java webstart部署给用户,而不是用户从共享网络驱动器运行.bat文件的当前设置。运行应用程序时,会传递一个属性文件参数,该参数包含允许在不同环境之间切换的数据库凭据等信息。
我想知道是否有办法在JNLP文件中指定它,并让webstart从Web服务器下拉属性文件。我花了相当多的时间在网上调查这个问题,我唯一能想到的就是简单地将文件名指定为参数:
<application-desc main-class="Main">
<argument>example.properties</argument>
</application-desc>
然后包含一个单独的链接,允许用户从服务器下载属性文件。这个问题是,如果JNLP文件和属性文件没有下载到同一目录(这似乎是IE中的默认行为),那么整个应用程序都会崩溃。有没有办法将我的属性文件与JNLP文件中的其他资源捆绑在一起,或者我是否以完全不正确的方式进行此操作?任何帮助将不胜感激!
答案 0 :(得分:2)
您可以在.jnlp文件中设置属性,而不是使用单独的属性文件。 http://www.coderanch.com/t/200871/JNLP-Web-Start/java/Properties-files-JNLP
其他解决方案是:
答案 1 :(得分:0)
看起来jnlp是一个XML文件,其中包含要放在类路径中的jar文件列表。
如果在一个jar中包含属性文件,那么可以使用this.getClass()。getClassLoader()。getResourceAsStream(“mypropsname.properties”)来读取它。
您的所有用户是否都需要相同的属性文件?