基本上我有同样的问题这个问题。但是,建议的解决方案对我来说不起作用,在 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
行添加到复制的文件中。但奇怪的是,这不起作用。
我到目前为止尝试过的事情:
将 deploy.config 和 deploy.properties 文件放在所用 JRE (D:\Java\jre1.6.0_45\lib) 和最新 JRE (D:\Java\jdk1.7.0_55\jre\lib) 的 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完全忽略了。
有人知道我哪里错了吗?
答案1
我不确定这
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 访问,需要修复:deploy.system.config.mandatory 属性是一个布尔值。如果设置为 true,则必须找到并成功加载由 deploy.system.config 属性指向的 deploy.properties 文件,否则,任何内容都无法运行。如果该属性设置为 false,则尝试查找并加载由deployment.system.config 属性指向的deployment.properties文件。如果成功,则使用该文件,否则,将忽略该文件。deployment.system.config.mandatory 属性的默认值为 false。
这个帖子建议您可以尝试删除:
文件:
%localappdata%\Sun\Java\Deployment\deployment.properties
注册表项:
HKEY_CURRENT_USER\Software\AppDataLow\Software\JavaSoft\DeploymentProperties
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 插件或 Java Web Start。
打开Windows控制面板:高级→环境变量→系统变量→新变量
变量名:_JAVA_OPTIONS
变量值:-Xmx256m #(例如)
按“确定”关闭所有窗口重新启动“Internet Explorer”后,配置将生效。配置将影响所有 Java 程序:启动器“java.exe”和 Java Web Start“javaws.exe”以及由浏览器启动的 Java 插件。