Как установить свойство 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 2

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

Также, для будущих читателей-переменная окружения для апплетов:

_JPI_VM_OPTIONS

Например

_JPI_VM_OPTIONS=-Джава.чистая.preferIPv4Stack=Истина