摘要:你怎么跑重复javaws的应用程序(它们来自相同的源代码,但使用单独的数据)在同一台机器上?运行重复的javaws应用
我有一个旧版本在客户现场运行的应用程序。我对应用程序进行了升级,并部署了两者(使用不同的数据库,战争,服务器等),并希望能够让用户在其计算机上同时下载和运行这两个应用程序。由于应用程序本质上是相互独立的,因此应该不存在重叠数据的问题。但是,.JNLP文件将下载新的应用程序并覆盖旧的应用程序 - 反之亦然。我们要在同一时间,使得生产不停止运行两者,他们可以之前测试的改进功能切换的最新应用到他们的生产。
我已经更改了新应用程序的名称以及JNLP文件中的开始菜单名称,但它们仍然彼此覆盖。我想有这个问题中的子问题:如何/哪里的Java确定应用程序正在下载/通过网络安装启动已经存在?我的猜测是它是来自主类的名字。
感谢
为参考MIS.JNLP:
<?xml version="1.0" encoding="utf-8"?>
<!-- JNLP File for Foo Registration Application -->
<jnlp
spec="1.7+"
codebase="http://foo:8080/mis"
href="mis.jnlp">
<information>
<title>MIS TEST</title> <!-- Original: 'MIS' -->
<vendor>Foo Inc.</vendor>
<description>Bar MIS System</description>
<shortcut online="false">
<desktop/>
<menu submenu="FooBar MIS TEST"/> <!--Original: 'FooBar MIS' -->
</shortcut>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.7+" java-vm-args="-client"/>
...
</resources>
<application-desc main-class="FooMainApp"/>
</jnlp>
解决方案(感谢维克在下面的评论):
我不得不改变我的构建,使a .war用不同的名字正在创建。此外,JNLP名称已更改,以及.html文件中指向jnlp的链接。这些东西的组合允许重复的应用程序同时运行。
什么的URL是您使用?根据Oracle文档“JNLP客户端(如Java Web Start)下载的每个JAR文件都唯一标识一个URL,如果两个JNLP文件使用相同的URL,那么资源将只下载一次并共享。通过Web浏览器使用的缓存实现” – Vic
老:HTTP://富:8080/MIS 新:HTTP:// foobar的:8080/MIS ..我会尝试改变.war文件名,看看是否有一个影响。感谢您输入Vic。 – ballBreaker
@Vic,如果你足够关心你可以让你说的答案,我会接受它。这只是我需要的信息。再次感谢。 – ballBreaker