[
https://issues.apache.org/jira/browse/CXF-1880?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chris McClelland updated CXF-1880:
----------------------------------
Right. But I only phrased the problem like this for simplicity's sake. The real
problem is that wsdl2java invokes the JAXB plugin when generating client-side
proxies. Removing the CXF classes from the classpath is not an option in that
case.
> org.apache.cxf.xjc.ts.ToStringPlugin cannot be used with a 1.6 JVM
> ------------------------------------------------------------------
>
> Key: CXF-1880
> URL: https://issues.apache.org/jira/browse/CXF-1880
> Project: CXF
> Issue Type: Bug
> Affects Versions: 2.1.2
> Reporter: Chris McClelland
>
> If CXF is on the classpath when you invoke the JXC code generator, it tries
> to load the org.apache.cxf.xjc.ts.ToStringPlugin as a JAXB plugin, but due to
> some problems with the 1.6 JVM, it fails:
> bash-2.05b$ gunzip -c apache-cxf-2.1.2.tar.gz | tar xf -
> bash-2.05b$ cd apache-cxf-2.1.2/lib
> bash-2.05b$ java -classpath $(pwd)/cxf-manifest.jar
> com.sun.tools.xjc.XJCFacade
> grammar is not specified
> Usage: xjc [-options ...] <schema file/URL/dir/jar> ... [-b <bindinfo>] ...
> If dir is specified, all schema files in it will be compiled.
> If jar is specified, /META-INF/sun-jaxb.episode binding file will be compiled.
> Options:
> -nv : do not perform strict validation of the input
> schema(s)
> -extension : allow vendor extensions - do not strictly follow the
> Compatibility Rules and App E.2 from the JAXB Spec
> -b <file/dir> : specify external bindings files (each <file> must
> have its own -b)
> If a directory is given, **/*.xjb is searched
> -d <dir> : generated files will go into this directory
> -p <pkg> : specifies the target package
> -httpproxy <proxy> : set HTTP/HTTPS proxy. Format is
> [user[:passwo...@]proxyhost:proxyPort
> -httpproxyfile <f> : Works like -httpproxy but takes the argument in a
> file to protect password
> -classpath <arg> : specify where to find user class files
> -catalog <file> : specify catalog files to resolve external entity
> references
> support TR9401, XCatalog, and OASIS XML Catalog
> format.
> -readOnly : generated files will be in read-only mode
> -npa : suppress generation of package level annotations
> (**/package-info.java)
> -no-header : suppress generation of a file header with timestamp
> -target 2.0 : behave like XJC 2.0 and generate code that doesnt use
> any 2.1 features.
> -xmlschema : treat input as W3C XML Schema (default)
> -relaxng : treat input as RELAX NG (experimental,unsupported)
> -relaxng-compact : treat input as RELAX NG compact syntax
> (experimental,unsupported)
> -dtd : treat input as XML DTD (experimental,unsupported)
> -wsdl : treat input as WSDL and compile schemas inside it
> (experimental,unsupported)
> -verbose : be extra verbose
> -quiet : suppress compiler output
> -help : display this help message
> -version : display version information
> Exception in thread "main" java.util.ServiceConfigurationError:
> com.sun.tools.xjc.Plugin: Provider org.apache.cxf.xjc.ts.ToStringPlugin could
> not be instantiated: java.lang.ClassCastException
> at java.util.ServiceLoader.fail(ServiceLoader.java:207)
> at java.util.ServiceLoader.access$100(ServiceLoader.java:164)
> at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:353)
> at java.util.ServiceLoader$1.next(ServiceLoader.java:421)
> at com.sun.tools.xjc.Options.findServices(Options.java:884)
> at com.sun.tools.xjc.Options.getAllPlugins(Options.java:336)
> at com.sun.tools.xjc.Driver.usage(Driver.java:510)
> at com.sun.tools.xjc.Driver._main(Driver.java:125)
> at com.sun.tools.xjc.Driver.access$000(Driver.java:74)
> at com.sun.tools.xjc.Driver$1.run(Driver.java:96)
> Caused by: java.lang.ClassCastException
> at java.lang.Class.cast(Class.java:2990)
> at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:345)
> ... 7 more
> bash-2.05b$ which java
> /...<snip>.../sunjdk/1.6.0_06/bin/java
> The only solution to this problem that I have been able to find is to put all
> XJC plugins in a subpackage of com.sun.tools.xjc.addon. No endorsed dirs
> hackery seems to work.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.