Назад | Перейти на главную страницу

Общесистемные настройки JRE в файле deployment.properties игнорируются?

В основном у меня та же проблема, что и в этот вопрос. Однако предлагаемое решение не работает для меня, ни на сервере Win2003, ни на ноутбуке Win7, используемом для тестирования.

У меня есть программа Java SE 6, которая запускается программой .Net через dll ActiveX-bridge. Для тестирования я использовал свой компьютер Win7 с 3 установленными JRE; jdk1.7.0_55, jre1.6.0_45 и jre1.6.0_38-x64. Приложение всегда использует jre1.6.0_45 и запускается с максимальным объемом памяти 95040 КБ, но мне нужно, чтобы его было немного больше.

Что работает для увеличения памяти, так это редактирование файла <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 строку в скопированный файл. Но как ни странно это не работает.

То, что я пробовал до сих пор:

Кто-нибудь знает, где я ошибаюсь?

  1. Я не уверен что file\:C\:/Windows/Sun/Java/Deployment/deployment.properties действительный URI файла Windows. Документация ORACLE перечисляет несколько другой и более правдоподобный: file:///C:/Windows/Sun/Java/Deployment/deployment.properties

  2. Попробуйте установить deployment.system.config.mandatory к True и посмотрите, не запускается ли ваше приложение. Если это не удается, это означает, что JAVA не может получить доступ deployment.config по вашему URI, и это требует исправления:

    Свойство deployment.system.config.mandatory является логическим. Если установлено значение true, файл deployment.properties, на который указывает свойство deployment.system.config, должен быть найден и успешно загружен, в противном случае запуск ничего не разрешается. Если для свойства установлено значение false, предпринимается попытка найти и загрузить развертывание. properties, на который указывает свойство 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, описанная в этом посте: Развертывание с автоматическим обновлением Java 1.7 с помощью 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, один и тот же механизм выбора jre используется как для нового плагина Java, так и для веб-запуска java. Это позволяет новому плагину адаптировать конфигурацию системного уровня. Отметьте этот запрос как RFE и установите приоритет ниже среднего.

И есть своего рода обходной путь:

Следующее может служить обходным решением проблемы: «Как настроить свойство (например, Xmx) глобально на ПК с Windows?»

Однако это не относится к определенным компонентам, таким как подключаемый модуль Java или Java Web Start.

Откройте панель управления Windows: Дополнительно → Переменные среды → Системные переменные → Новая переменная.
Имя переменной: _JAVA_OPTIONS
Значение переменной: -Xmx256m #(например)
Закройте все окна, нажав ОК

После перезапуска «Internet Explorer» конфигурация станет активной. Конфигурация повлияет на все программы Java: как средство запуска «java.exe», так и Java Web Start «javaws.exe», а также подключаемый модуль Java, запускаемый браузером.