我们有一个应用程序将部署在具有不同IP的多个服务器上。 JNLP是在构建时生成的。 因此,我们在没有代码库的情况下定义了JNLP:
<jnlp spec="1.0+" href="app.jnlp">
但是,当第二次启动此应用程序时(从第一次启动时创建的桌面图标),代码库将设置为本地文件系统,这绝对是无用的。 我希望Java Webstart在第一次启动应用程序时使用实际的原始地址设置代码库。这似乎不是真的。
如何在不经修改的情况下准备可在不同服务器上使用的通用JNLP?
答案 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">