deployment.properties 文件中的系統範圍的 JRE 設置被忽略了嗎?
基本上我和這個問題有同樣的問題。但是,建議的解決方案對我不起作用,不適用於 Win2003 伺服器,也不適用於用於測試的 Win7 筆記型電腦。
我有一個由 .Net 程序通過 ActiveX-bridge dll 啟動的 Java SE 6 程序。為了測試,我使用安裝了 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=-Xmx100
,deployment.javaws.jre.2.args=-Xmx100
因此所有已安裝的 JRE 都將使用相同的設置- 在deployment.config 文件中添加了第二行,
deployment.system.config.mandatory=true
並將deployment.properties 文件的路徑更改為不存在的文件-> 沒有發生任何事情,應用程序將正常啟動,因此deployment.config 文件似乎完全被忽略了JRE。有誰知道我哪裡出錯了?
- 我不確定這
file\:C\:/Windows/Sun/Java/Deployment/deployment.properties
是一個有效的Windows 文件 URI。ORACLE 文件列出了稍微不同但更合理的一個:file:///C:/Windows/Sun/Java/Deployment/deployment.properties
- 嘗試設置
deployment.system.config.mandatory
為True
並查看您的應用程序是否無法啟動。如果失敗,則意味著 JAVA 無法deployment.config
通過您的 URI 訪問,需要修復:deployment.system.config.mandatory 屬性是一個布爾值。**如果設置為true,則必須找到deployment.system.config 屬性指向的deployment.properties 文件並成功載入,否則不允許執行任何內容。**如果該屬性設置為 false,則會嘗試查找並載入部署。deployment.system.config 屬性指向的屬性文件。如果成功,則使用該文件,否則,忽略該文件。deployment.system.config.mandatory 屬性的預設值為 false。
- 這篇文章建議,您可以嘗試刪除:
- 文件:
%localappdata%\Sun\Java\Deployment\deployment.properties
- 系統資料庫項:
HKEY_CURRENT_USER\Software\AppDataLow\Software\JavaSoft\DeploymentProperties
- JAVA 7 存在一個問題,在這篇文章中有所描述:Java 1.7 Auto-Update Deployment with SCCM/MDT
更多想法:
我開始認為這種 JRE 系統範圍的配置不適用於任何 Java 版本。那或者我完全錯過了一些東西
好吧,我發現它絕對不適用於1.6.0_03 和 1.6.0_07:
問: Java 外掛相關的部署屬性在系統級部署屬性文件中被忽略。該問題在 1.6.0_03 和 1.6.0_07 上可嚴格重現。
答: 使用 6u14 b01 測試。系統級部署配置正在新的 java 外掛中執行。我們不會為舊外掛修復它。關閉 CR,因為在新外掛中不可重現。
系統級部署配置是 java webstart 的一個特性。它還沒有在java外掛中使用。
從 6u10 開始,新的 java 外掛和 java webstart 使用相同的 jre 選擇機制。這使得新外掛可以適應系統級配置。將此 CR 標記為 RFE,並將優先級降低到中等。
並且有一種解決方法:
以下可以作為該問題的解決方法:“如何在 Windows PC 上全域配置屬性(例如 Xmx)?”
然而,這並不特定於某些組件,如 Java Plugin 或 Java Web Start。
打開 Windows 控制面板:高級 → 環境變數 → 系統變數 → 新變數
變數名:_JAVA_OPTIONS
變數值:-Xmx256m #(例如)
按確定關閉所有視窗
重新啟動“Internet Explorer”後,配置將處於活動狀態。該配置將影響所有 Java 程序:啟動器“java.exe”和 Java Web Start“javaws.exe”以及由瀏覽器啟動的 Java 外掛。