1

I tried something like that :

javaws -J--add-opens=java.desktop/javax.swing.plaf.metal=ALL-UNNAMED my_jnlp_file.jnlp

And also tried in the jnlp :

<j2se java-vm-args="--add-opens java.desktop/javax.swing.plaf.metal=ALL-UNNAMED -Xms500m -Xmx4096m" />

I'm getting this error in the cmd console :

java version "17.0.7" 2023-04-18 LTS
Java(TM) SE Runtime Environment (build 17.0.7+8-LTS-224)
haring)
Error: --add-opens requires modules to be specified
Please press any key to close this window/get back prompt

Also tried providing these options with environment variables JAVA_TOOL_OPTIONS, JDK_JAVA_OPTIONS and JAVAWS_J_OPTIONS but no luck:

set JAVA_TOOL_OPTIONS="--add-opens=java.desktop/javax.swing.plaf.metal=ALL-UNNAMED"

I found a file icedtea-web-image\bin\itw-modularjdk.args inside the distribution of icedtea that has --add-xxx options so I've put the options there and it worked.

# -------------------------------------
# IcedTea-Web jigsaw run args (jdk9+)
# -------------------------------------

--add-reads=java.base=ALL-UNNAMED,java.desktop
--add-reads=java.desktop=ALL-UNNAMED,java.naming
--add-reads=java.naming=ALL-UNNAMED,java.desktop

--add-exports=java.desktop/sun.awt=ALL-UNNAMED,java.desktop
--add-exports=java.desktop/javax.jnlp=ALL-UNNAMED,java.desktop

--add-exports=java.base/com.sun.net.ssl.internal.ssl=ALL-UNNAMED,java.desktop
--add-exports=java.base/sun.net.www.protocol.jar=ALL-UNNAMED,java.desktop
--add-exports=java.base/sun.security.action=ALL-UNNAMED,java.desktop
--add-exports=java.base/sun.security.provider=ALL-UNNAMED,java.desktop
--add-exports=java.base/sun.security.util=ALL-UNNAMED,java.desktop
--add-exports=java.base/sun.security.validator=ALL-UNNAMED,java.desktop
--add-exports=java.base/sun.security.x509=ALL-UNNAMED,java.desktop
--add-exports=java.base/jdk.internal.util.jar=ALL-UNNAMED,java.desktop
--add-exports=java.base/sun.net.www.protocol.http=ALL-UNNAMED,java.desktop

--add-exports=java.desktop/sun.awt.X11=ALL-UNNAMED,java.desktop
--add-exports=java.desktop/sun.applet=ALL-UNNAMED,java.desktop
--add-exports=java.desktop/sun.applet=ALL-UNNAMED,jdk.jsobject

--add-exports=java.naming/com.sun.jndi.toolkit.url=ALL-UNNAMED,java.desktop

However, I'm not quite sure this is the right place for this. I'd rather have it configured outside the distribution.

Could you please indicate the right way of passing these options ?

Sybuser
  • 735
  • 10
  • 27

0 Answers0