2016-06-08 247 views
0

我的軟件有它自己的java,使用它我必須通過jnlpjavaws運行我的應用程序。該應用程序需要一個已經導入到java中的證書。這是執行javaws把我的腳本文件具有以下代碼:設置我的jnlp運行一個特定的java路徑

set JAVA_HOME=C:\my_prog\client\java\jre 
set PATH=C:\my_prog\client;%JAVA_HOME%\bin 
start C:\my_prog\client\java\jre\bin\javaws -J-Djavax.net.ssl.trustStore=C:/my_prog/client/java/jre/lib/security/cacerts -verbose -wait http://localhost:8090/backend/MYClient.jnlp 

的路徑被設置爲確保該javaws僅開始與指定的Java。

-verbose參數的彈出式顯示javaws是從給定的java和證書開始的。但是當我的客戶端通過JNLP啓動時,客戶端日誌將系統屬性java.home顯示爲我的Windows本地Java。因此,如果需要,它不能驗證正確的認證。

java control panel Java設置也表明,它是在列表中:

enter image description here

沒有任何屬性文件的JNLP使用/讀取獲取用於啓動應用程序的Java路徑?或者是否有任何方法可以在JNLP中指定java.home,以便它只用特定的java啓動?

+0

嗯,你可以在java控制面板中看到* your * java嗎?我不認爲你可以爲jnlp指定一個** JAVA_HOME **,但是,我認爲你可以下載並安裝一個你想用於你的程序的特定的JVM,所以不知何故,它也必須檢測到你的jvm已經在那裏了(雖然將預先安裝的證書放入你的可分配區域是另一回事) –

+0

我在java控制面板中看到我的Client java(請參閱編輯)。但是,即使我下載並安裝證書,證書仍然存在。 – ShaDooW

+0

它應該以某種方式得到它或者進入你的包下載/安裝你的Java在客戶端的電腦_或_獲取客戶端做_once_手動 - 第一個障礙是讓jnlp識別你的Java。有更多的只是使用特定的sun版本和證書嗎? –

回答

1

嘗試使用J2SE標籤的href屬性..

<resources> 
    <!-- Application Resources --> 
    <j2se version="1.6+" href= 
     "some location"/> 
</resources> 

不知道這雖然!

+0

需要的唯一兩件事情,但是這個href不是JNLP應該使用的java的物理路徑。 – ShaDooW