On 12/09/2014 09:39, Miroslav Kos wrote:
I agree that the code looks scary, but it's because we have to support range of jdk (currently jdk6 to jdk9) and we want to avoid maintaining several branches. The standalone project must work even with jdk6. The magic here is to make the latest JAX-WS working with jdk6. 1.6 contain old JAX-B/WS API versions (2.1) and this tricky code allows to load newer (2.2) javax.xml.* classes from jars on classpath (without having to use java endorsed mechanism) when running standalone JAX-WS on the top of JDK6. Hope it is not too confusing.
Once we are further along with modules in the JDK 9 then I expect that -Xbootclasspath/p will go away (to be replaced by an alternative facility to override the classes in modules that are linked into the runtime image). So is this wsgen and wsimport code only used with JDK 6? Maybe that is okay but at the same time I would hope these APIs could leave JDK 6 behind some day, otherwise it makes it impossible to use language features and APIs.


Anyway I found some more code to cleanup - one more class can be removed - see version 2:
http://cr.openjdk.java.net/~mkos/8054548/jaxws.01/

The update looks okay to me. I guess we'll have to see if other changes are required as we move forward. Also thanks for the explanation about JavacompilerMessages.java being auto-generated, there isn't anything in the header that makes this obvious (maybe the plugin that you mentioned could be updated to generate something into the header?).

-Alan.

Reply via email to