2014-01-22 78 views
0

有沒有辦法指向特定的JRE/JDK位置來運行JWS應用程序?我正在研究指定JRE的實際位置,不僅是通過JNLP文件的Java SE元素的版本。我不想訪問任何系統JRE,我只想使用與我的應用程序捆綁在一起的東西。爲JWS應用程序啓動指定JRE位置

目前我正在嘗試將1.6_45與我的應用綁定。但是,當用戶在其系統上安裝1.7_xx JRE時遇到問題。它阻止了webstart應用程序的啓動。罐子是自簽名的,並且由CA授權機構簽署它們不是一個選項,因爲它太$$。我將jnlp中的j2se版本標記更改爲1.6 *,並允許它以1.7_xx的形式運行。一個bug被壓扁了。

現在的問題是,系統正在升級到1.6_71 [私有oracle版本],顯然有1.7安全修補程序backported它。所以現在因爲jnlp標籤有1.6 *,我的應用程序正在拾取1.6_71並完全懸掛。 Webstart只是打開java控制檯並掛起。我試着給jnlp java-vm-args添加-Djnlpx.home,指向捆綁的jre/bin,但是沒有運氣。

我試過一種方式[從這裏的帖子]是我創建了一個快捷方式到我的特定javaws傳遞jnlp文件位置作爲參數。這沒有奏效。它仍然拿起1.6_71並掛起。

在這一點上,如果我谷歌了,它會開始給我看一個驗證碼......嘆了口氣。 任何指針,非常感謝!謝謝!

回答

1

有沒有辦法指向特定的JRE/JDK位置來運行JWS應用程序?

簡答題,沒有。很長的答案,不。

+0

我很害怕這個。關於如何讓我的應用程序工作的任何其他建議? –

+0

請參閱[本答案](http://stackoverflow.com/a/21247298/418556)中的評論以獲取(可能)免費的數字證書。 –

0

Oracle最新版本的Java 7 Update 51包含新的安全更改,這些更改將阻止某些應用程序。這是新的「安全基線」,顯然有1.6的等效代碼級別。

有助於確定究竟發生的配置選項之一是安全級別,可從(Windows)控制面板 - > Java的安全性選項卡中找到。如果您將安全級別設置爲最低(不記得名稱),那麼您可能不會被阻止。安全級別高會阻止未簽名和自簽名。安全級別非常高將更加嚴格,如阻止過期的應用程序 - 意味着證書已過期。

另外,也許你可以嘗試設置你想要運行的JRE的具體級別 - 查看鏈接 http://docs.oracle.com/javase/6/docs/technotes/guides/javaws/developersguide/syntax.html#jnlp 瞭解更多信息。

+0

不幸的是,它的企業應用程序分發給客戶,所以我們不能要求他們減少他們機器上的安全設置。正如我在我的問題中提到的那樣,我無法將jre設置爲指向1.6的次要版本,因爲機器上存在1.7會阻止啓動。我們幾乎已經決定簽署我們擁有CA可信任證書的罐子是最好的選擇。Thx –

+0

同意 - 這是真正的唯一途徑,也更加安全。祝你好運! – mikemil

相關問題