Как установить свойство предпочитаемого IPv4Stack для приложения JNLP? - PullRequest
2 голосов
/ 21 марта 2012

Мне нужно установить java.net.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");

Единственный способ заставить его работать - это видеть при запуске javaws из локальной файловой системы:

javaws -J-Djava.net.preferIPv4Stack=true myapp.jnlp

Что невозможно в апплете или URL.

Как мне установить это свойство?

Ответы [ 3 ]

1 голос
/ 06 сентября 2012

В Java 7 Update 6 (b17) список безопасных свойств был обновлен.Подробнее см. Отчет об ошибке 716069 .

Вы можете включить этот параметр, указав следующую строку в теге ресурса:

<property name="java.net.preferIPv4Stack" value="true"/>

1 голос
/ 28 июня 2012

В JNLP можно установить только те свойства, которые считаются безопасными и не включают java.net.preferIPv4Stack.

Альтернативные варианты, которые у вас есть (не проверены):

  • передать параметр напрямую челюстям, как вы: javaws -J-Djava.net.preferIPv4Stack=true myapp.jnlp
  • Панель управления Java> Java> Вид> Параметры времени выполнения, но это глобальный параметр для всех приложений и апплетов веб-запуска, использующих версию JRE, для которой вы изменили параметр
  • использовать переменную окружения: JAVAWS_VM_ARGS = -Djava.net.preferIPv4Stack=true
  • пометьте настройку как безопасную, добавив строку в файл deploy.properties , расположенный в домашнем хранилище (*): 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

0 голосов
/ 19 июля 2012

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

_JPI_VM_OPTIONS

например,

_JPI_VM_OPTIONS = -Djava.net.preferIPv4Stack = true

...