LINUX 安装JDK的问题

yurui05 2009-11-10 01:57:49
以前在虚拟机上装过 今天在真实机器上装出现问题了。恳请高手帮忙 不胜感激
版本:red hat Enterprise 4 jdk:1.6.0_13

设置的环境变量:
# set java environment
JAVA_HOME=/usr/java/jdk1.6.0_13
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME PATH CLASSPATH

[yurui@localhost tmp]$ java -version
java version "1.6.0_13"
Java(TM) SE Runtime Environment (build 1.6.0_13-b03)
Java HotSpot(TM) Client VM (build 11.3-b02, mixed mode, sharing)


HelloWorld.java代码:
public class HelloWorld{
public static void main(String[] args){
System.out.println("hello!");
}
}


运行一个试验程序:出现一大堆错误代码:
[yurui@localhost tmp]$ javac HelloWorld.java
Exception in thread "main" java.lang.ClassFormatError:

com.sun.tools.javac.main.Main (erroneous method access flags)
at _Jv_ClassReader.throw_class_format_error(byte)

(/usr/lib/libgcj.so.5.0.0)
at _Jv_ClassReader.handleMethod(int, int, int, int)

(/usr/lib/libgcj.so.5.0.0)
at _Jv_ClassReader.read_methods() (/usr/lib/libgcj.so.5.0.0)
at _Jv_ClassReader.parse() (/usr/lib/libgcj.so.5.0.0)
at _Jv_DefineClass(java.lang.Class, byte[], int, int)

(/usr/lib/libgcj.so.5.0.0)
at java.lang.VMClassLoader.defineClass(java.lang.ClassLoader,

java.lang.String, byte[], int, int, java.security.Pro
tectionDomain) (/usr/lib/libgcj.so.5.0.0)
at java.lang.ClassLoader.defineClass(java.lang.String, byte[],

int, int, java.security.ProtectionDomain) (/usr/lib/
libgcj.so.5.0.0)
at java.security.SecureClassLoader.defineClass(java.lang.String,

byte[], int, int, java.security.CodeSource) (/usr/
lib/libgcj.so.5.0.0)
at java.net.URLClassLoader.findClass(java.lang.String)

(/usr/lib/libgcj.so.5.0.0)
at gnu.gcj.runtime.VMClassLoader.findClass(java.lang.String)

(/usr/lib/libgcj.so.5.0.0)
at java.lang.ClassLoader.loadClass(java.lang.String, boolean)

(/usr/lib/libgcj.so.5.0.0)
at _Jv_FindClass(_Jv_Utf8Const, java.lang.ClassLoader)

(/usr/lib/libgcj.so.5.0.0)
at java.lang.Class.forName(java.lang.String, boolean,

java.lang.ClassLoader) (/usr/lib/libgcj.so.5.0.0)
at _Jv_BytecodeVerifier.verify_instructions_0()

(/usr/lib/libgcj.so.5.0.0)
at _Jv_VerifyMethod(_Jv_InterpMethod) (/usr/lib/libgcj.so.5.0.0)
at _Jv_PrepareClass(java.lang.Class) (/usr/lib/libgcj.so.5.0.0)
at _Jv_WaitForState(java.lang.Class, int)

(/usr/lib/libgcj.so.5.0.0)
at java.lang.VMClassLoader.linkClass0(java.lang.Class)

(/usr/lib/libgcj.so.5.0.0)
at java.lang.VMClassLoader.resolveClass(java.lang.Class)

(/usr/lib/libgcj.so.5.0.0)
at java.lang.Class.initializeClass() (/usr/lib/libgcj.so.5.0.0)
at java.lang.Class.forName(java.lang.String, boolean,

java.lang.ClassLoader) (/usr/lib/libgcj.so.5.0.0)
at java.lang.Class.forName(java.lang.String)

(/usr/lib/libgcj.so.5.0.0)
at gnu.gcj.runtime.FirstThread.run() (/usr/lib/libgcj.so.5.0.0)
at _Jv_ThreadRun(java.lang.Thread) (/usr/lib/libgcj.so.5.0.0)
at _Jv_RunMain(java.lang.Class, byte const, int, byte const,

boolean) (/usr/lib/libgcj.so.5.0.0)
at __libc_start_main (/lib/tls/libc-2.3.4.so)

...全文
236 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yurui05 2009-11-12
  • 打赏
  • 举报
回复
恩 谢谢 问题已经解决了 如你所说。
jeff_jian 2009-11-11
  • 打赏
  • 举报
回复
改下PATH吧
export PATH=$JAVA_HOME/bin:$PATH
yurui05 2009-11-10
  • 打赏
  • 举报
回复
我晕死 刚试了一下

同样的步骤 同样的配置 同样的文件

在虚拟机里就能正常安装运行。在真实机器的系统中就不行了

WHY?
yurui05 2009-11-10
  • 打赏
  • 举报
回复
问题补充
[yurui@localhost lib]$ echo $PATH

/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/java/jdk1.6.0_13/bin:/home/yurui/bin

会不会是这个PATH的问题?怎么出来好几个啊?

yurui05 2009-11-10
  • 打赏
  • 举报
回复
此贴不能沉

19,612

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧