java 安装后报错_ubuntu安装jdk之后,报错java/lang/NoClassDefFoundError: java/lang/Object的解决办法...

问题:安装完JDK ,设定环境变量后出现这个错误:

junezhang@junezhang-virtual-machine:/usr/java/jdk1.8.0_51/jre/lib$ java

Error occurred during initialization of VM

java/lang/NoClassDefFoundError: java/lang/Object

原因:由于JAVA_HOME/bin下面的tool.pack和JAVA_HOME/jre/lib下面的rt.pack没有完全解压

解决办法:

junezhang@junezhang-virtual-machine:/usr/java/jdk1.8.0_51/jre/lib$ unpack200 rt.pack rt.jar

Error: Could not open jar file: rt.jar

使用普通用户执行unpack200报错了,切换成root用户,首先设置root用户的密码,如下:

junezhang@junezhang-virtual-machine:/usr/java/jdk1.8.0_51/jre/lib$

sudo passwd root

Enter new UNIX password:

Retype new UNIX password:

passwd: password updated successfully

junezhang@junezhang-virtual-machine:/usr/java/jdk1.8.0_51/jre/lib$

su root

Password:

root@junezhang-virtual-machine:/usr/java/jdk1.8.0_51/jre/lib#

unpack200 rt.pack  rt.jar

The program 'unpack200' can be found in the following packages:

* openjdk-6-jre-headless

* openjdk-7-jre-headless

Try: apt-get install root@junezhang-virtual-machine:/usr/java/jdk1.8.0_51/jre/lib#

java

The program 'java' can be found in the following packages:

* default-jre

* gcj-4.6-jre-headless

* openjdk-6-jre-headless

* gcj-4.5-jre-headless

* openjdk-7-jre-headless

Try: apt-get install

这里注意到,虽然使用root用户,执行unpack200仍然报错,需要重新加载环境变量: root@junezhang-virtual-machine:/usr/java/jdk1.8.0_51/jre/lib#

source /etc/profile

root@junezhang-virtual-machine:/usr/java/jdk1.8.0_51/jre/lib#

java

Error occurred during initialization of VM

java/lang/NoClassDefFoundError: java/lang/Object

然后继续执行unpack200,将rt.pack装换为rt.jar:

root@junezhang-virtual-machine:/usr/java/jdk1.8.0_51/jre/lib# unpack200 rt.pack  rt.jar

这里再执行java就ok了,貌似不需要将tools.pack装换为tool.jar:

root@junezhang-virtual-machine:/usr/java/jdk1.8.0_51# java -version java version "1.8.0_51" Java(TM) SE Runtime Environment (build 1.8.0_51-b16) Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值