记录下dynamicclientfactory.createlient 空指针遇到的坑

问题原因:JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
Client client = dcf.createClient(webserviceurl);系统在这段代码运行时dcf为空,所以报空指针错误;但是在开发环境上以及部署到本地tomcat都没有问题,部署到linux服务器上时就会报空指针错误;
解决过程:
1、刚开始以为是jre下没有tools.jar,然后复制jdk目下的tools,结果还是不行;
2、又觉得是不是jdk的环境变量设置问题,设置了jdk环境变量后还是不行;
3、此时问题原因已经定位是系统环境的问题,但究竟错在哪里还不清楚;
4、后来网上查了很多资料,发现linux有一个默认的openjdk,虽然使用java -version出现的是自己安装的jdk版本,但是系统默认的还不是我们要设置的内容;
使用命令:update-alternatives --display java :
在这里插入图片描述
没有自己安装的jdk在内;
使用命令设置优先级,数值越高,优先级越高
update-alternatives --install /usr/lib/jvm/java-8-openjdk-amd64/bin/java java /usr/lib/jvm/jdk1.8.0/bin/java 1080
再使用命令update-alternavices --config java:
在这里插入图片描述
选择2,自己设置的jdk,此时设置完成,已经使用的是自己的jdk;
5、访问系统,还是不行空指针错误;
6、查询tomcat使用的java环境:
ps -ef|grep tomcat
在这里插入图片描述
发现怎么又出来一个jdk版本,前面修改了linux的jdk版本后,tomcat没有重启,还是使用的原版本,
重启tomcat,解决问题。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值