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 ?