2017-02-09 85 views
1

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

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

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

我该如何准备一个通用的JNLP,可以在不同的服务器上修改而无需修改?

+0

如果你正在生成它,为什么不为每个服务器生成一个单独的.jnlp文件? – VGR

+0

@VGR它在构建时生成。在构建时,我们不知道目标服务器的IP地址。他们甚至可能随着时间而改变。 – radlan

+1

服务器运行什么软件?如果它是一个servlet容器(Tomcat,GlassFish等),则可以动态地提供.jnlp内容。 – VGR

回答

0

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

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

Mojohaus提供一个Maven化包的小服务器here

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

<jnlp spec="1.0+" codebase="*" href="app.jnlp"> 
相关问题