安装失败java.lang_linux安装jdk出现java/lang/NoClassDefFoundError: java/lang/Object错误的解决方案...

近日在redhat上安装jdk出现了一个莫名的错误

Error occurred during initialization of VM

java/lang/NoClassDefFoundError: java/lang/Object

辛苦google了一个小时,终于找到了解决方案

首先要确认的是环境变量的设置是否正确

相信大家都是很细心的,这方面如果有错误也会很容易发现

然而还有一个隐蔽的地方也会产生上述的错误

就是lib和jre/lib文件夹中的rt和tools是否是打包后的形式

如果发现rt.pack 和 tools.pack 那么多半问题就出在这里

解决方法也很简单,只要将相应文件解压成rt.jar 和 tools.jar

可以使用bin里面的unpack200工具

如:unpack200 rt.pack rt.jar

解压后java -version应该就没有问题了~~

Error occurred during initialization of VM

java/lang/NoClassDefFoundError: java/lang/Object

可以看出是没有找到基础类库,查看一下tools.jar及rt.jar 果然没有,果断重新解包出来,

这个错误的原因是没有找到tools.jar及rt.jar;

tools.jar是关于一些工具的类库

rt.jar包含了jdk的基础类库,也就是你在java doc里面看到的所有的类的class文件

解包方法,jdk每个版本unpack 位置不一样, 例如:

当要解压tools.pack及rt.pack的时候,这样解压

/usr/java/jdk1.7.0_60/jre/lib# ../bin/unpack200 rt.pack rt.jar

/usr/java/jdk1.7.0_60/lib# ../bin/unpack200 tools.pack tools.jar

测试一下 java-version 搞定

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值