AW: Java 9 EA 169 Webstart NoClassDefFoundError: javax/xml/ws/Service

Alan Bateman Alan.Bateman at
Tue May 16 12:15:17 UTC 2017

On 16/05/2017 12:26, Reto Merz wrote:

>> So I think Java Web Start is right to align with the policy for
>> applications launched on the command line.
> The difference is that in case of Webstart the Java version is controlled by the user.
> They are trained to install the latest Java version and keep it up-to-date.
> All our customers download Java via
> They would not understand that they should stay with an old Java version until release X of software Y is available because they have never do that before.
> We use Webstart over 10 years and it is the first time we see that Oracle will break compatibility between Java N and N+1 and Oracle is already aware about it.
> The issue is easy to fix because only the Webstart launcher would be affected by the changes.
> This changes would give Webstart app devs more time to migrate.
> I think it is wrong to compare Webstart with a classic application
> and Oracle should add all SE/EE modules by default and also enable --permit-illegal-access
> by default in case ob Webstart.
The JNLP fragment in my first mail can be used to resolve 
for JNLP applications that depend on the JAX-WS version included in the 
JRE. It's predicated on the version of the runtime so you should be able 
to use the same JNLP for 6, 7, 8 and 9.

I don't know when JDK 10 will be released and I also don't know for sure 
if JRE 10 will continue to bundle JAX-WS or not. Assuming it is removed 
then it will be a surprise as the JDK has never dropped APIs like this. 
I don't think we should feel too bad about that because each of these 
APIs are standalone technologies with their own download. BTW: We don't 
maintain these APIs in OpenJDK, instead they are maintained in upstream 
projects. I could imagine the migration guide for JDK 10 providing the 
JNLP need to download the standalone versions as libraries.

As regards strong encapsulation then Java Web Start has support for the 
equivalent of `--add-exports` and `--add-opens`. I think we discussed 
this in a previous thread (you mentioned you inherited code that hacks 
String internals if I remember correctly).


More information about the jigsaw-dev mailing list