Как передать флаг 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