【问题标题】:JavaWebStart- multiple jars in same jnlp?Java Web Start-同一个jnlp中有多个jar?
【发布时间】:2014-07-11 12:43:47
【问题描述】:

我正在尝试将我的 Java 软件 jar 转换为 Java WebStart 应用程序。我已经成功地将它部署为带有 jnlp 文件的 WebStart,该文件提供了有关软件 jar 的详细信息。

但是,我的软件需要将某些详细信息本地存储在用户机器上的文件中。可以设置这些详细信息,并且可以通过让用户运行我编写的另一个 java 软件(一个非常小的 java utility 软件)来生成文件。我想知道是否可以使用 标签将这个较小的软件的 jar 与主软件一起打包。据我所知,我们可以使用标签来指定我们的软件 jar 使用的其他 jars/库。

我们能否将我们在 jnlp 中创建的另一个 java jar 打包,然后当用户启动 jnlp 时,它会与主软件 jar 和其他库(jar)一起下载吗? 请告诉我。谢谢。

P.S:我知道 WebStart 应用程序下载的所有 jars 最终都在 部署缓存中。有没有办法指定他们应该下载到 哪里?就我而言,如果将第二个软件的 jar 下载到更容易找到的位置,我会更喜欢它。

【问题讨论】:

  • "..我的软件需要将某些详细信息本地存储在用户计算机上的文件中。" 使用 JNLP API 的 PersistenceService“可以设置这些详细信息,并且可以通过让用户运行由我编写的另一个 java 软件(一个非常小的 java 实用软件)来生成文件。”ExtensionInstallerService 运行它。它们在安装时运行一次,在卸载时再次运行。演示。两者都可以在我的share drive 上找到。 (注意,在这两种情况下,代码都不需要知道它的安装位置。)

标签: java java-web-start jnlp


【解决方案1】:

是的,它会被下载 - 但它最终会出现在部署缓存中,无法轻松找到它(名称都混淆了)或启动它。

webstart 无法将文件保存在部署缓存中:如果您可以指定下载位置,则具有相同名称和不同代码库的不同版本的 jar 文件可能最终位于同一位置,从而导致无穷无尽的麻烦.

我看到了两种获得所需功能的方法:

  1. 在主应用程序中添加更改本地配置的功能作为附加功能。您可能可以使用大多数现有代码,但使用方法调用而不是将其作为单独的应用程序启动
  2. 创建第二个 jnlp 文件以启动配置程序。从你写的内容来看,它应该很小,而且创建起来也不需要太多努力。

【讨论】:

  • 嗨,这就是我想知道的。我知道 WebStart 应用程序下载的所有 jars 最终都在部署缓存中。有没有办法指定它们应该下载到哪里?如果没有,那么,我可能会遵循您建议的第二种方法。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多