前言:
在一个JavaWeb项目中,要接入WebService时,使用CXF,在启动时报出如下异常:
java.lang.IllegalStateException:Unable to create schema compiler
解决过程:
1、根据异常报错信息,定位到抛出异常的方法:org.apache.cxf.common.jaxb.JAXBUtils.createSchemaCompilerWithDefaultAllocator(cxf-api-2.6.0.jar包中,本人使用的是2.6.0版本)
2、可以发现,错误出在加载 com.sun.tools.internal.xjc.api.XJC这个类的时候
3、查询发现,com.sun.tools.internal.xjc.api.XJC这个类是在tools.jar这个jar包中
4、jdk是自带tools.jar的,如果你的启动环境是jdk,是不会报这个错误的,因为本人的Eclipse是jre启动,缺少tools.jar所以报错。需要将这个jar包加入。选中
JRE System Library,点击Edit,一步步将tools.jar添加进来,最后finish。
……
运行项目,成功!