deployment.properties文件中的系统级JRE设置被忽略?

基本上我有和这个问题一样的问题 。 但是,build议的解决scheme不适用于我,而不是在Win2003服务器上,而不是在用于testing的Win7笔记本电脑上。

我有一个Java SE 6程序,通过.net程序通过一个ActiveX桥dll启动。 testing我用我的Win7计算机与3个JREs安装; 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

但问题是,这只适用于一个用户,我希望它为服务器上的所有用户工作。

正如在这个答案中所讨论的,我用内容创build了一个文件C:\Windows\Sun\Java\Deployment\deployment.config

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

然后,我将deployment.properties文件从我的用户configuration文件复制到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的(虚拟)Win2003服务器的C:\ Windows \ Sun \ Java \ Deployment文件夹中(v1.6.0_11)

  • 添加行deployment.javaws.jre.0.args=-Xmx100deployment.javaws.jre.2.args=-Xmx100所以所有安装的JRE将使用相同的设置

  • deployment.system.config.mandatory=true添加第二行,并将deployment.properties文件的path更改为不存在的东西 – >没有任何事情发生,应用程序可以正常启动,所以它似乎deployment.config文件完全被JRE忽略。

有没有人有我的错在哪里的线索?

  1. 我不确定该file\:C\:/Windows/Sun/Java/Deployment/deployment.properties是一个有效的Windows文件URI 。 ORACLE文档列出了稍微不同且更合理的file:///C:/Windows/Sun/Java/Deployment/deployment.properties

  2. 尝试将deployment.system.config.mandatory设置为True并查看您的应用程序是否无法启动。 如果失败,则意味着JAVA无法通过URI访问deployment.config ,需要修复:

    deployment.system.config.mandatory属性是一个布尔值。 如果设置为true,那么必须finddeployment.system.config属性指向的deployment.properties文件并成功加载,否则不允许运行任何内容。 如果该属性设置为false,则会尝试查找并加载该部署。 属性文件是由deployment.system.config属性指向的。 如果成功,则使用该文件,否则该文件被忽略。 deployment.system.config.mandatory属性的默认值为false。

  3. 这个postbuild议,你可以尝试删除:

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

    • registry项: HKEY_CURRENT_USER\Software\AppDataLow\Software\JavaSoft\DeploymentProperties

  4. 本文描述了JAVA 7的一个问题: 使用SCCM / MDT的Java 1.7自动更新部署

更多的想法:

我开始认为这个JRE系统范围的configuration不适用于任何Java版本。 这或我完全错过了一些东西

那么,我发现它在1.6.0_03和1.6.0_07中绝对不行:

问:在系统级部署属性文件中忽略Java插件相关的部署属性。 这个问题在1.6.0_03和1.6.0_07上是严格重现的。

A:用6u14 b01testing。 系统级部署configuration正在使用新的Java插件。 我们不打算修复旧插件。 closuresCR在新插件中不可重现。

系统级部署configuration是java webstart的一个function。 它还没有在java插件中使用。

自6u10以来,同样的jreselect机制被用于新的java插件和java webstart。 这使得新的插件可以适应系统级configuration。 将此CR标记为RFE,并将其设置为中等优先级。

有一个解决方法:

以下内容可以解决问题:“如何在Windows PC上全局configuration属性(例如Xmx)?”

然而,这并不是特定于某些组件,如Java插件或Java Web Start。

打开Windows控制面板:高级→环境variables→系统variables→新variables
variables名称: _JAVA_OPTIONS
variables值: -Xmx256m #(例如)
按下OKclosures所有窗口

重新启动“Internet Explorer”后,configuration将被激活。 configuration将影响所有Java程序:启动程序“java.exe”和Java Web Start“javaws.exe”以及由浏览器启动的Java插件。