摘要:你怎麼跑重複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