码迷,mamicode.com
首页 > 其他好文 > 详细

cxf客户端动态调用空指针异常

时间:2016-02-02 14:21:27      阅读:4635      评论:0      收藏:0      [点我收藏+]

标签:

异常信息如下:

二月 02, 2016 9:38:01 上午 org.apache.cxf.common.jaxb.JAXBUtils logGeneratedClassNames
信息: Created classes: com.demo.ObjectFactory, com.demo.SayHi, com.demo.SayHiResponse, com.demo.SayHiToUser, com.demo.SayHiToUserList, com.demo.SayHiToUserListResponse, com.demo.SayHiToUserResponse, com.demo.User
Exception in thread "main" java.lang.NullPointerException
    at org.apache.cxf.common.util.Compiler.useJava6Compiler(Compiler.java:187)
    at org.apache.cxf.common.util.Compiler.compileFiles(Compiler.java:141)
    at org.apache.cxf.common.util.Compiler.compileFiles(Compiler.java:136)
    at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.compileJavaSrc(DynamicClientFactory.java:611)
    at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:370)
    at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:241)
    at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:234)
    at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:189)
    at com.demo.HelloWordClient.main(HelloWordClient.java:29)

上述是在网上摘抄了一个cxf的实例,运行,然后报了上述错误,查看源码,发现是org.apache.cxf.common.util.Compiler的useJava6Compiler方法中有这样一行代码:

JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();

运行上述代码,发现返回结果compiler为null,所以会出现上述的空指针,然后网上搜索到一篇文章

http://www.cnblogs.com/fangwenyu/archive/2011/10/12/2209051.html

不过该文章中作者的java_home是jre安装目录,我的是jdk的安装目录,但是用文中同样的方式,将tools.jar放入到我的和jdk同一级的jre中,问题依然得到了解决。

PS:安装版的tomcat在安装的时候,虽然没有设置jre的环境变量 ,但是也会找到jre的安装目录,这两种情况都不会使用jdk安装目录中的jre

 

cxf客户端动态调用空指针异常

标签:

原文地址:http://www.cnblogs.com/qq931399960/p/5176809.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!