Как установить свойство preferIPv4Stack для приложения JNLP?
Мне нужно установить Java.чистая.preferIPv4Stack=true, чтобы приложение через jnlp в (javaws и Applet)
Попробовал их, но безуспешно...
<j2se ...java-vm-args="-Djava.net.preferIPv4Stack=true" />
<property name="java.net.preferIPv4Stack" value="true"/>
System.setProperty("java.net.preferIPv4Stack", "true");
Единственный способ, которым я мог заставить его работать, был seeting при запуске javaws из локальной файловой системы:
javaws -J-Djava.net.preferIPv4Stack=true myapp.jnlp
То, что невозможно в апплете или URL.
Как я должен установить это свойство?
3 ответа:
С обновлением Java 7 6 (b17) список защищенных свойств был обновлен. Смотрите Отчет об ошибке 716069 для получения дополнительной информации.
Эту настройку можно включить, указав в теге resource следующую строку:
<property name="java.net.preferIPv4Stack" value="true"/>
Единственными свойствами, которые можно задать в JNLP, являются те , которые считаются безопасными и не включают
java.net.preferIPv4Stack
.Альтернативные варианты, которые у вас есть (не протестированы):
- передайте параметр непосредственно javaws, как вы это сделали:
javaws -J-Djava.net.preferIPv4Stack=true myapp.jnlp
- Java Control Panel > Java > View > Runtime Parameters, но это глобальная настройка для всех приложений и апплетов webstart, использующих версию JRE, для которой вы изменили настройку
- используйте окружение переменная:
JAVAWS_VM_ARGS = -Djava.net.preferIPv4Stack=true
- отметьте параметр как безопасный, добавив строку к развертыванию .файл свойств , расположенный в главном окне развертывания(*) :
deployment.javaws.secure.properties=java.net.preferIPv4Stack
- примечание: не уверен, что это доступно Java > 1.5.Первые 3 варианта подробно описаны вэтом документе .
( * ) Развертывание Дома:
Windows XP:%HOME%\Application Data\Sun\Java\Deployment
Windows 7 / Vista:%APPDATA%\..\LocalLow\Sun\Java\Deployment
Linux / Solaris:%HOME%/.java/deployment