Как передать флаг Java 9 '--permit-нелегальный доступ' приложению Webstart?

Я запустил приложение с JRE build 9-ea+163, передав --permit-illegal-access флаг в ВМ. Теперь я хочу запустить приложение с Java Webstart. Первая попытка с

javaws -J--permit-illegal-access <JNLP-Url>

не работает. Я получаю то же самое InaccessibleObjectException с module java.base does not "opens java.util" to unnamed module как без флага.

Добавление <j2se java-vm-args="--permit-illegal-access" version="9*"/> JNLP не помогает.

Поддерживает ли Webstart --permit-illegal-access флаг?

Могу ли я указать флаг в файле JNLP?

Кстати, с Java 9

javaws https://docs.oracle.com/javase/tutorialJWS/samples/deployment/NotepadJWSProject/Notepad.jnlp

бросает IllegalAccessException а также -J--permit-illegal-access тоже не помогает

PS: установка переменной env JAVA_TOOL_OPTIONS в --permit-illegal-access работает, но не является решением, так как клиенты не доступны.

2 ответа

Решение

Java Web Start не поддерживает --permit-illegal-access вариант. Приложения JNLP, которые должны нарушать инкапсуляцию, должны использовать точные параметры, есть поддержка обоих --add-exports а также --add-opens,

Это сработало для меня. Добавьте следующий флаг в аргумент vm:

      java --add-exports=java.naming/com.sun.jndi.ldap=ALL-UNNAMED -jar mySpringBootApp.jar
Другие вопросы по тегам