概述
下载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/ext
such asrt.pack
(the default location is c:nameof_jdk_folderjrelib
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%binunpack200 -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, 记下留念。
最后
以上就是温婉未来为你收集整理的Ubuntu12.04 安装Java JDK1.7.0_51的全部内容,希望文章能够帮你解决Ubuntu12.04 安装Java JDK1.7.0_51所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复