忽略deployment.properties 檔案中的系統範圍JRE 設定?

忽略deployment.properties 檔案中的系統範圍JRE 設定?

基本上我有同樣的問題這個問題。然而,建議的解決方案對我不起作用,在 Win2003 伺服器上不起作用,在用於測試的 Win7 筆記型電腦上不起作用。

我有一個 Java SE 6 程序,它由 .Net 程式透過 ActiveX-bridge dll 啟動。為了進行測試,我使用了安裝了 3 個 JRE 的 Win7 計算機; jdk1.7.0_55、jre1.6.0_45 和 jre1.6.0_38-x64。該應用程式始終使用 jre1.6.0_45 並以最大 95040KB 記憶體啟動,但我需要稍微多一點。

增加記憶體的方法是編輯文件<userprofile>\AppData\LocalLow\Sun\Java\Deployment\deployment.properties並添加以下行:

deployment.javaws.jre.1.args=-Xmx100m

但問題是這僅適用於一個用戶,我希望它適用於伺服器上的所有用戶。

如中所討論的這個答案C:\Windows\Sun\Java\Deployment\deployment.config我創建了一個包含內容的文件

deployment.system.config=file\:C\:/Windows/Sun/Java/Deployment/deployment.properties

然後,我將deployment.properties 檔案從我的使用者設定檔複製到該C:\Windows\Sun\Java\Deployment\資料夾,並再次將該deployment.javaws.jre.1.args=-Xmx100m行新增至複製的檔案。但奇怪的是這不起作用。

到目前為止我嘗試過的事情:

  • 將deployment.config和deployment.properties檔案放在所使用的JRE(D:\ Java \ jre1.6.0_45 \ lib)和最新JRE(D:\ Java \ jdk1.7.0_55 \ jre \的lib資料夾中庫)

  • 將檔案放置在僅安裝了一個 JRE (v1.6.0_11) 的(虛擬)Win2003 伺服器的 C:\Windows\Sun\Java\Deployment 資料夾中

  • 新增了這些行deployment.javaws.jre.0.args=-Xmx100deployment.javaws.jre.2.args=-Xmx100因此所有已安裝的 JRE 將使用相同的設定

  • 在deployment.config檔中新增了第二行deployment.system.config.mandatory=true,並將deployment.properties檔案的路徑更改為不存在的內容 - >什麼都沒有發生,應用程式將正常啟動,因此看來deployment.config檔完全被忽略了JRE。

有人知道我哪裡出錯了?

答案1

  1. 我不確定這file\:C\:/Windows/Sun/Java/Deployment/deployment.properties是否有效Windows 檔案 URIORACLE文檔列出了略有不同但更合理的一個:file:///C:/Windows/Sun/Java/Deployment/deployment.properties

  2. 嘗試設定deployment.system.config.mandatoryTrue並查看您的應用程式是否無法啟動。如果失敗,則表示JAVA無法deployment.config透過您的URI訪問,需要修復:

    Deployment.system.config.mandatory 屬性是一個布林值。如果設定為true,則必須找到並成功載入deployment.system.config屬性所指向的deployment.properties文件,否則不允許執行任何內容。如果該屬性設為 false,則會嘗試尋找並載入部署。屬性檔由deployment.system.config屬性指向。如果成功,則使用該文件,否則,忽略該文件。 Deployment.system.config.mandatory 屬性的預設值為 false。

  3. 這個帖子建議您可以嘗試刪除:

    • 文件:%localappdata%\Sun\Java\Deployment\deployment.properties

    • 註冊表鍵值:HKEY_CURRENT_USER\Software\AppDataLow\Software\JavaSoft\DeploymentProperties

  4. JAVA 7 有一個問題,如這篇文章所述:使用 SCCM/MDT 進行 Java 1.7 自動更新部署

更多想法:

我開始認為這個 JRE 系統範圍的配置不適用於任何 Java 版本。或者我完全錯過了一些東西

嗯,我發現它絕對行不通1.6.0_03 和 1.6.0_07

問:系統級部署屬性檔中將忽略與 Java 外掛程式相關的部署屬性。此問題在 1.6.0_03 和 1.6.0_07 上可嚴格重現。

A: 使用 6u14 b01 進行測試。系統級部署配置在新的 java 外掛程式中運作。我們不會修復舊插件的問題。關閉 CR,因為在新插件中無法重現。

系統級部署配置是java webstart的功能。尚未在java插件中使用過。

從 6u10 開始,新的 java 外掛程式和 java webstart 使用相同的 jre 選擇機制。這使得新插件可以適應系統級配置。將此 CR 標記為 RFE,並將優先權降低為中。

還有一種解決方法:

以下可以作為解決該問題的方法:“如何在 Windows PC 上全域配置屬性(例如 Xmx)?”

然而,這並不是特定於某些元件,例如 Java Plugin 或 Java Web Start。

開啟Windows控制面板:進階→環境變數→系統變數→新變數
變數名稱:_JAVA_選項
變數值:-Xmx256米 #(例如)
按「確定」關閉所有視窗

重新啟動「Internet Explorer」後,設定將生效。此配置將影響所有 Java 程式:啟動器「java.exe」和 Java Web Start「javaws.exe」以及由瀏覽器啟動的 Java 外掛程式。

相關內容