-
Bug
-
Resolution: Won't Fix
-
P3
-
9
-
x86_64
-
windows_7
FULL PRODUCT VERSION :
java version "9-ea"
Java(TM) SE Runtime Environment (build 9-ea+135)
Java HotSpot(TM) Server VM (build 9-ea+135, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows [Version 6.1.7601]
A DESCRIPTION OF THE PROBLEM :
According to JEP-261 http://openjdk.java.net/jeps/261 arguments related to tweaking of the module system can be specified as
--add-exports <source-module>/<package>=<target-module>(,<target-module>)*
or
--add-modules <module>(,<module>)*
These options work when launching a Java application from the command line.
However, when launching from a Web Start file I seem to have to specify as
--add-exports=<source-module>/<package>=<target-module>(,<target-module>)*
or
--add-modules=<module>(,<module>)*
(Note the extra '=' character)
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. Deploy a web start application necessitating extra module startup options (example attached). (Our application is deployed as a signed JAR file with a DRS 'run' rule but I don't think this makes any difference to this bug)
2. Launch it
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
The application should fail to launch when module options are not specified
The application should launch correctly when module options are correctly specified
ACTUAL -
The application failx to launch when module options are not specified (good)
The application does not launch correctly, even if module options are correctly specified (bad)
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
test.jnlp
=========
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="6.0+" codebase="http://www.example.com/webstart" href="test.jnlp">
<information>
<title>Test app</title>
<vendor>Anon</vendor>
<offline-allowed/>
</information>
<security>
<all-permissions/>
</security>
<update check="always" policy="always" />
<resources>
<j2se version="1.8+" java-vm-args="--add-exports java.desktop/com.sun.java.swing.plaf.windows=ALL-UNNAMED --add-modules java.se.ee"/>
<jar href="test.jar" main="true"/>
</resources>
<application-desc main-class="Toto"/>
</jnlp>
Toto.java
=========
import com.sun.java.swing.plaf.windows.WindowsLookAndFeel;
import javax.swing.UIManager;
import javax.xml.bind.JAXBException;
import java.text.*;
import java.util.*;
public class Toto {
public static void main(String... argv) throws Exception {
if (UIManager.getLookAndFeel() instanceof WindowsLookAndFeel) System.out.println("Using Windows L&F");
new JAXBException("Testing").printStackTrace();
}
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Specify module options incorrectly as
java-vm-args="--add-exports=java.desktop/com.sun.java.swing.plaf.windows=ALL-UNNAMED --add-modules=java.se.ee"
I haven't tested other module options (limit-modules, add-reads, etc., etc.) but of course all options specified in JEP-261 which are allowed for Web Start applications should be handled correctly.
java version "9-ea"
Java(TM) SE Runtime Environment (build 9-ea+135)
Java HotSpot(TM) Server VM (build 9-ea+135, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows [Version 6.1.7601]
A DESCRIPTION OF THE PROBLEM :
According to JEP-261 http://openjdk.java.net/jeps/261 arguments related to tweaking of the module system can be specified as
--add-exports <source-module>/<package>=<target-module>(,<target-module>)*
or
--add-modules <module>(,<module>)*
These options work when launching a Java application from the command line.
However, when launching from a Web Start file I seem to have to specify as
--add-exports=<source-module>/<package>=<target-module>(,<target-module>)*
or
--add-modules=<module>(,<module>)*
(Note the extra '=' character)
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. Deploy a web start application necessitating extra module startup options (example attached). (Our application is deployed as a signed JAR file with a DRS 'run' rule but I don't think this makes any difference to this bug)
2. Launch it
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
The application should fail to launch when module options are not specified
The application should launch correctly when module options are correctly specified
ACTUAL -
The application failx to launch when module options are not specified (good)
The application does not launch correctly, even if module options are correctly specified (bad)
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
test.jnlp
=========
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="6.0+" codebase="http://www.example.com/webstart" href="test.jnlp">
<information>
<title>Test app</title>
<vendor>Anon</vendor>
<offline-allowed/>
</information>
<security>
<all-permissions/>
</security>
<update check="always" policy="always" />
<resources>
<j2se version="1.8+" java-vm-args="--add-exports java.desktop/com.sun.java.swing.plaf.windows=ALL-UNNAMED --add-modules java.se.ee"/>
<jar href="test.jar" main="true"/>
</resources>
<application-desc main-class="Toto"/>
</jnlp>
Toto.java
=========
import com.sun.java.swing.plaf.windows.WindowsLookAndFeel;
import javax.swing.UIManager;
import javax.xml.bind.JAXBException;
import java.text.*;
import java.util.*;
public class Toto {
public static void main(String... argv) throws Exception {
if (UIManager.getLookAndFeel() instanceof WindowsLookAndFeel) System.out.println("Using Windows L&F");
new JAXBException("Testing").printStackTrace();
}
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Specify module options incorrectly as
java-vm-args="--add-exports=java.desktop/com.sun.java.swing.plaf.windows=ALL-UNNAMED --add-modules=java.se.ee"
I haven't tested other module options (limit-modules, add-reads, etc., etc.) but of course all options specified in JEP-261 which are allowed for Web Start applications should be handled correctly.
- duplicates
-
JDK-8159136 NullPointerException when starting from signed JNLP file with non-standard VM args
- Closed
- relates to
-
JDK-8159136 NullPointerException when starting from signed JNLP file with non-standard VM args
- Closed
-
JDK-8177705 Java WebStart throws ClassNotFoundException when attempting to link to JAXB type
- Closed