cxf客户端动态调用空指针异常
异常信息如下:
二月 , :: 上午 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:) at org.apache.cxf.common.util.Compiler.compileFiles(Compiler.java:) at org.apache.cxf.common.util.Compiler.compileFiles(Compiler.java:) at org.apache.cxf.endpoint.) at org.apache.cxf.endpoint.) at org.apache.cxf.endpoint.) at org.apache.cxf.endpoint.) at org.apache.cxf.endpoint.) at com.demo.HelloWordClient.main(HelloWordClient.java:)
上述是在网上摘抄了一个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客户端动态调用空指针异常的更多相关文章
- SOA 下实现分布式 调用 cxf+ webService +动态调用
近期项目间隙 自学了 webservice 一下 是我写的 一个demo 首先我们在web.xml 里配置如下 <servlet> <servlet-name>CXFS ...
- 客户端动态调用cxf websevice 异常
三月 30, 2014 10:06:40 上午 org.apache.cxf.common.jaxb.JAXBUtils logGeneratedClassNames 信息: Created clas ...
- Webservice客户端动态调用服务端功能方法
一.发布WebService服务 方式一:在服务端生成wsdl文件,下方客户端直接引用即可 优点:针对要发布的方法生成一个wsdl文件即可,无需多余配置. 缺点:每次服务端方法发生改变都需 ...
- HttpInvoker客户端动态调用Demo
private static <T> T getHttpInvokerService(String serverUrl, Class<T> serviceInterface) ...
- 【技术贴】webservice cxf2 客户端动态调用报错No operation was found with the name
No operation was found with the name xxx 出错原因是因为发布服务的接口所在包路径和此接口实现类包路径不一致,比如你的服务接口可能放在了包com.x.interF ...
- C# .NET 动态调用webservice的三种方式
转载自 百度文库 http://wenku.baidu.com/link?url=Q2q50wohf5W6UX44zqotXFEe_XOMaib4UtI3BigaNwipOHKNETloMF4ax4W ...
- WCF入门及在WinForm中动态调用
一.WCF入门 1. 新建立空白解决方案,并在解决方案中新建项目,项目类型为:WCF服务应用程序,删除系统生成的两个文件IService1.cs与Service1.svc, 添加自定义的WCF[服务文 ...
- Web Service学习笔记:动态调用WebService
原文:Web Service学习笔记:动态调用WebService 多数时候我们通过 "添加 Web 引用..." 创建客户端代理类的方式调用WebService,但在某些情况下我 ...
- CXF 调用方式——动态创建客户端(调用稳定版本号为2.7.18)
今天用动态创建客户端的方式调用webservice,报了这样一个错: 2017-01-05 20:51:46,029 DEBUG main org.apache.cxf.common.logging. ...
随机推荐
- Alpha版本十天冲刺——Day 1
站立式会议 会议总结 队员 今天完成 遇到的问题 明天要做 感想 鲍亮 α版本接口文档初步编写,任务统筹 绘制燃尽图出错 学习http资源访问,服务器请求接口demo测试 作为PM,之前对团队具体要做 ...
- .net错误日志记录(log4)
Log4 web.config <!--这段放前面--> <configSections> <section name="log4net" type= ...
- 超简单,安卓模拟器手动root
本文转载自:http://quantoubao.blog.163.com/blog/static/2083211702013870501987/ 安装Android SDK安卓模拟器的方法很简单,网上 ...
- Linux下对比两个文件夹的方法
最近拿到一份源代码,要命的是这份源代码是浅克隆模式的git包,所以无法完整显示里面的修改的内容. 今天花了一点点时间,找了一个在Linux对比两个文件夹的方法. 其实方法很简单,用meld 去对比两个 ...
- HikariCP
HiKariCP是数据库连接池的一个后起之秀,号称性能最好,可以完美地PK掉其他连接池. 为何要使用HiKariCP?这要先从BoneCP说起: 什么?不是有C3P0/DBCP这些成熟的数据库连接池吗 ...
- Opera Browser -- Access Restricted Sites using Free VPN /Free VPN Services List
Opera Browser -- Access Restricted Sites using Free VPN: currently the feature is available in Oper ...
- Angular2 架构
1. 说明 Angular 2 是一个用 HTML 和 JavaScript (或者可以编译成JavaScript)来构建应用程序的框架.该框架包含了一系列的库. 在 Angular 里,我们这样 ...
- s:select下拉框validation验证
S:select下拉框验证: <td colspan="5"> <s:select name="vo.typeVO.corp" list=&q ...
- python备忘
1.引用已经编写好的.py文件(Windows系统) >>>import sys >>>sys.path.append("C:/python") ...
- thinkphp 3.23语言包加载
模块home: 1.config 里添加 配置 //'配置项'=>'配置值' 'LANG_SWITCH_ON' => true, // 开启语言包功能 'LANG ...