Ubuntu12.04 安装Java JDK1.7.0_51

下载jdk-7u51-linux-i586.rpm

以下为导致失败的命令:

安装包:sudo alien -i ./jdk*rpm

。。。。。。

安装完毕,设置环境变量,$JAVA_HOME, $PATH, $CLASSPATH, 驾轻就熟,

运行: java -versoin

奇葩结果:

Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object

看来某个jar包的安装有问题。

问题在哪呢?

请教见多识广的stackoverflow, 原文见下:

http://stackoverflow.com/questions/11808829/jre-1-7-returns-java-lang-noclassdeffounderror-java-lang-object-in-opensolaris

Rigg802的解释清楚明白:

The problem comes from an improper java installation (e.g. an installation done without admin rights or by simply unzipping tools.zip).

You can either uninstall, then reinstall Java with an installer and/or more privileges or try the following:

Check in your JDK folder for *.pack files in jre/lib andjre/lib/extsuch asrt.pack (the default location is c:\nameof_jdk_folder\jre\lib for Microsoft Windows and/usr/java/lib for Unix/GNU Linux)

Those *.pack files need to be unpacked to .jar files using this command:

  • For Windows:

    %JAVA_HOME%\bin\unpack200 -r -v -l "" rt.pack rt.jar

  • For *nix, a similar command line will unpack the files:

    cd /usr/java/lib

    /usr/bin/unpack200 rt.pack rt.jar

and repeat that step with all of the *.pack files and relaunch your program.


亲自尝试下:

sudo unpack200 rt.pack rt.jar

rt.jar的问题搞定,java -verison不再报错,但是还有其他pack没有搞定呢。

比如,javac还有类似的问题,一个个搞麻烦,并且不是正途。根本原因应该在安装过程。

于是,检查安装步骤, 这次加上参数v, 便于查看提示信息

sudo alien -iv ./jdk*rpm

发现alien在执行rpm时有警告:
Warning: Use the --script parameter to include the scripts

猜测就是某些脚本没有执行,导致某些pack没有被unpack。

于是:

sudo alien -iv --script ./jdk*rpm

没有--script警告,再试javac,正常。

于是Hello World!

第一次在ubuntu的terminal下装rpm, 记下留念。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值