2017-04-03 34 views
7

--permit-illegal-access 플래그를 VM에 전달하여 JRE 빌드 9-ea + 163에서 실행중인 응용 프로그램을 얻었습니다. 이제 Java Webstart로 앱을 시작하고 싶습니다. 첫 번째 시도는Java 9 '--permit-illegal-access'플래그를 Webstart 응용 프로그램에 전달하는 방법은 무엇입니까?

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

입니다. 나는 InaccessibleObjectExceptionmodule 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 파일에 플래그를 지정할 수 있습니까?

Btw는

, 자바 9

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

은 도움이되지 않는 IllegalAccessException-J--permit-illegal-access가 발생합니다.

추신 : env 변수를 JAVA_TOOL_OPTIONS에서 --permit-illegal-access으로 설정하면 작동하지만 클라이언트에 액세스 할 수 없으므로 해결 방법이 아닙니다.

+0

이 정보가 도움이됩니까? http://stackoverflow.com/questions/3494787/enabling-jvm-options-with-java-web-start-jnlp http://stackoverflow.com/questions/1396426/passing-command-line-arguments-to-javaws -java-webstart-executable http://stackoverflow.com/questions/40932530/how-to-pass-unsafe-arguments-to-the-jvm-of-a-java-webstart-application http://stackoverflow.com/questions/22958842/how-to-pass-jvm-arguments-to-java-web-from-html –

+0

'"는 JNLP에 적용되지 않습니다. env 변수'JAVA_TOOL_OPTIONS'를'--permit-illegal-access'로 설정하면 작동하지만 클라이언트에 접근 할 수 없으므로 해결책이 아닙니다. 클라이언트 컴퓨터의 배포 설정도 마찬가지입니다. – Miro

답변

7

Java Web Start는 --permit-illegal-access 옵션을 지원하지 않습니다. 캡슐화를 중단해야하는 JNLP 앱은 정확한 옵션을 사용해야하며 --add-exports--add-opens에 대한 지원이 있습니다.

+5

[JDK-8172986] (https://bugs.openjdk.java.net/browse/JDK-8172986)'java-vm-args = "- add-opens = java에 설명 된대로 올바른 구문으로 작동합니다. .base/java.util = ALL-UNNAMED - 추가 내보내기 = java.desktop/sun.awt = ALL-UNNAMED "'. 고맙습니다! – Miro