如何在没有代码库的情况下使用JNLP?

时间:2017-02-09 13:26:23

标签: java java-web-start jnlp

我们有一个应用程序将部署在具有不同IP的多个服务器上。 JNLP是在构建时生成的。 因此,我们在没有代码库的情况下定义了JNLP:

<jnlp spec="1.0+" href="app.jnlp">

但是,当第二次启动此应用程序时(从第一次启动时创建的桌面图标),代码库将设置为本地文件系统,这绝对是无用的。 我希望Java Webstart在第一次启动应用程序时使用实际的原始地址设置代码库。这似乎不是真的。

如何在不经修改的情况下准备可在不同服务器上使用的通用JNLP?

1 个答案:

答案 0 :(得分:0)

JDK的sample / jnlp / servlet目录中的JnlpDownloadServlet可用于在运行时从模板生成JNLP,插入正确的代码库,例如:

<jnlp spec="1.0+" codebase="$$codebase" href="app.jnlp">

Mojohaus提供了servlet here的一个mavenized包。

您还需要在签名的主jar中提供JNLP-INF / APPLICATION_TEMPLATE.JNLP文件。这会复制你的app.jnlp,但是有一个代码库的星号:

<jnlp spec="1.0+" codebase="*" href="app.jnlp">