tried to access class sun.security.provider.SunEntries from class com.sun.crypto.provider.SunJCE

服务器由于断电被迫重启, 在重启各项业务服务时发现无法正常启动了…
报错如下:

tried to access class sun.security.provider.SunEntries from class com.sun.crypto.provider.SunJCE

一个服务无法正常启动, 那有可能是服务本身有问题, 但是几乎大部分的服务都启动不了, 推测应该是服务器环境的问题
查询这个报错
几乎都在说是jdk版本不兼容, 但是使用命令查询服务器的jdk版本, 也只显示一个版本

alternatives --config java

查询jdk的安装位置

which java
whereis java
ls -lrt /usr/bin/java
ls -lrt /etc/alternatives/java

发现/etc/alternatives/java目录下有几个jdk, 总的来说有2个, 一个是jdk1.8.0.261, 一个是openjdk1.8.0.291
推测可能是服务器安装了多个jdk
history查询一个之前的命令, 发现前几天有执行过yum install java-1.8.0-openjdk.x86_64
直接执行yum remove java-1.8.0-openjdk.x86_64, 并且删除后来安装的oepnjdk
yum安装的jdk会在/usr/lib创建jvm目录,删除rm -rf /usr/lib/jvm/*
再次重启业务服务, 均可正常启动.
此时再次查询jdk的安装
只有一个版本

感谢:
https://stackoverflow.com/questions/7076414/java-lang-illegalaccesserror-tried-to-access-method
https://www.java.com/zh-CN/download/help/linux_uninstall_zh-cn.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值