Caused by: java.lang.ClassNotFoundException: com/sun/tools/internal/xjc/api/XJC
缺少com/sun/tools/internal/xjc/api/XJC
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2016年2月29日 14:41:19 星期一
http://fanshuyao.iteye.com/
Exception in thread "main" java.lang.IllegalStateException: Unable to create schema compiler at org.apache.cxf.common.jaxb.JAXBUtils.createSchemaCompilerWithDefaultAllocator(JAXBUtils.java:663) at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createSchemaCompiler(DynamicClientFactory.java:422) at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:306) at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:240) at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:233) at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:188) at com.lqy.spring.cxf_client.Main.main(Main.java:12) Caused by: javax.xml.bind.JAXBException - with linked exception: [java.lang.ClassNotFoundException: com/sun/tools/internal/xjc/api/XJC] at org.apache.cxf.common.jaxb.JAXBUtils.createSchemaCompiler(JAXBUtils.java:648) at org.apache.cxf.common.jaxb.JAXBUtils.createSchemaCompilerWithDefaultAllocator(JAXBUtils.java:655) ... 6 more Caused by: java.lang.ClassNotFoundException: com/sun/tools/internal/xjc/api/XJC at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at org.apache.cxf.common.jaxb.JAXBUtils.createSchemaCompiler(JAXBUtils.java:641) ... 7 more
一、问题描述:
在CXF调用接口的代码时,跳出这样的错误:
Caused by: java.lang.ClassNotFoundException: com/sun/tools/internal/xjc/api/XJC
JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance(); org.apache.cxf.endpoint.Client client = dcf.createClient("http://localhost:8080/cxf/ws/getUserName?wsdl"); //sayHello 为接口中定义的方法名称 张三为传递的参数 返回一个Object数组 //Object[] objects=client.invoke("getUserName", new Object[]{}); Object[] objects=client.invoke("getUserNameByString", "张三"); //输出调用结果 System.out.println(objects[0].toString());
二、解决
但网上都说在jaxb-xjc这个Jar包里,其实是不对的,因为引用的是Jdk lib下的tools.jar
D:\Java\jdk1.6.0_45\lib\tools.jar,缺少的是这个包,把这个包引用就正常了。
三、注意
加了tools.jar,再添加jaxb-xjc也会报错,所以不要再添加jaxb-xjc.jar。
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-xjc</artifactId>
<version>2.2.11</version>
</dependency>
Exception in thread "main" java.lang.IllegalStateException: Unable to write generated Java files for schemas: null at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:354) at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:240) at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:233) at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:188) at com.lqy.spring.cxf_client.Main.main(Main.java:12) Caused by: java.lang.reflect.UndeclaredThrowableException at com.sun.proxy.$Proxy27.build(Unknown Source) at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:352) ... 4 more Caused by: java.lang.NoSuchMethodException: com.sun.codemodel.internal.JCodeModel.build(java.lang.Object) at java.lang.Class.getMethod(Unknown Source) at org.apache.cxf.common.util.ReflectionInvokationHandler.invoke(ReflectionInvokationHandler.java:85) ... 6 more
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2016年2月29日 14:41:19 星期一
http://fanshuyao.iteye.com/