В принципе у меня та же проблема, что и уэтот вопрос. Однако предложенное решение у меня не работает ни на сервере Win2003, ни на ноутбуке Win7, используемом для тестирования.
У меня есть программа Java SE 6, которая запускается программой .Net через ActiveX-bridge dll. Для тестирования я использовал свой компьютер Win7 с тремя установленными 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
строку в скопированный файл. Но как ни странно это не работает.
Что я попробовал на данный момент:
размещение файлов deployment.config и deployment.properties в папке lib используемой JRE (D:\Java\jre1.6.0_45\lib) и самой последней версии JRE (D:\Java\jdk1.7.0_55\jre\lib)
размещение файлов в папке C:\Windows\Sun\Java\Deployment (виртуального) сервера Win2003 с установленной только одной JRE (v1.6.0_11)
добавил строки
deployment.javaws.jre.0.args=-Xmx100
иdeployment.javaws.jre.2.args=-Xmx100
теперь все установленные JRE будут использовать те же настройкидобавил вторую строку в
deployment.system.config.mandatory=true
файл deployment.config и изменил путь к файлу deployment.properties на несуществующий -> Ничего не произошло, и приложение запустилось нормально, так что, похоже, файл deployment.config полностью игнорируется JRE.
Кто-нибудь знает, где я ошибаюсь?
решение1
Я не уверен, что это
file\:C\:/Windows/Sun/Java/Deployment/deployment.properties
допустимо.URI файла Windows.Документация ORACLEперечисляет немного другой и более правдоподобный вариант:file:///C:/Windows/Sun/Java/Deployment/deployment.properties
Попробуйте установить
deployment.system.config.mandatory
иTrue
посмотрите, не запустится ли ваше приложение. Если это не удается, это означает, что JAVA не может получить доступdeployment.config
по вашему URI и это нужно исправить:Свойство deployment.system.config.mandatory является логическим.Если задано значение true, файл deployment.properties, на который указывает свойство deployment.system.config, должен быть найден и успешно загружен, в противном случае запуск невозможен.Если свойство установлено в false, делается попытка найти и загрузить файл deployment. properties, на который указывает свойство 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 с помощью 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 webstart. Это позволяет новому плагину адаптировать конфигурацию системного уровня. Отметьте этот CR как RFE и понизьте приоритет до среднего.
И есть своего рода обходной путь:
Обходным путем для решения проблемы может служить следующее: «Как настроить свойство (например, Xmx) глобально на ПК с Windows?»
Однако это не относится только к некоторым компонентам, таким как Java Plugin или Java Web Start.
Откройте Панель управления Windows: Дополнительно → Переменные среды → Системные переменные → Новая переменная
Имя переменной:_JAVA_ОПЦИИ
Значение переменной:-Xмx256м #(например)
Закройте все окна, нажав ОКПосле перезапуска "Internet Explorer" конфигурация будет активна. Конфигурация повлияет на все программы Java: как на лаунчер "java.exe", так и на Java Web Start "javaws.exe" и на Java Plugin, поскольку он запускается браузером.