Problem running my classes

Hello everybody,

I have just installed jdk 6u1 on my linux RedHat as 4 system. I just executed the file and then added a PATH to my environment. I run apps like HelloWorld with no problem, but when it comes to a bit more complex ones I get these errors:

Exception in thread "main" java.lang.NoClassDefFoundError: while resolving class : Leaf

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/l ib/libgcj.so.5.0.0)

at __gcj_personality_v0 (/home/oracle/orako/java/java.version=1.4.2)

at __libc_start_main (/lib/tls/libc-2.3.4.so)

at _Jv_RegisterClasses (/home/oracle/orako/java/java.version=1.4.2)

Caused by: java.lang.ClassNotFoundException: java.lang.StringBuilder not found i n [file:/usr/share/java/libgcj-3.4.6.jar, file:./, core:/]

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/libgc j.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)

...9 more

Note that my app runs on Windows well. I my installation OK? What is up?

[2349 byte] By [RHjavaa] at [2007-11-27 5:04:00]
# 1
You Linux box is "infected" with fake Java (gcj). You need to get rid of it or at least stop using it and start using a Java version that actually works.
cotton.ma at 2007-7-12 10:22:13 > top of Java-index,Java Essentials,New To Java...
# 2
Please tell me what to do step by step... I am new both to linux and java :-))
RHjavaa at 2007-7-12 10:22:13 > top of Java-index,Java Essentials,New To Java...
# 3

> Please tell me what to do step by step... I am new

> both to linux and java :-))

What Java did you install? Not version but where did you get it? Was it Sun?

If you have the right Java installed then you need to clean up your path so that it doesn't use the libgcj instead. It's probably first somewhere....

cotton.ma at 2007-7-12 10:22:13 > top of Java-index,Java Essentials,New To Java...
# 4

This is my java box : jdk-6u1-linux-i586.bin got from Sun.

Here is my PATH:

/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin

:/usr/bin:/usr/X11R6/bin:/root/bin:/usr/local/java/jdk1.6.0_01/bin

I have also installed Oracle 10g but before this jdk.

Well?

RHjavaa at 2007-7-12 10:22:13 > top of Java-index,Java Essentials,New To Java...
# 5
I also searched for that libgcj on my pc and I found nothing..what is that?
RHjavaa at 2007-7-12 10:22:13 > top of Java-index,Java Essentials,New To Java...
# 6

"type java" tells where the command java is found on the PATH.

"java -version" tells the version.

$ type java

java is /opt/oracle/product/10gAS/jdk/bin/java

$ java -version

java version "1.4.2_02"

Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_02-b03)

Java HotSpot(TM) Client VM (build 1.4.2_02-b03, mixed mode)

BIJ001a at 2007-7-12 10:22:13 > top of Java-index,Java Essentials,New To Java...
# 7
> What Java did you install? Not version but where did> you get it? Was it Sun? Appearently not: at gnu.gcj.runtime.FirstThread.run() (/usr/lib/libgcj.so.5.0.0)
BIJ001a at 2007-7-12 10:22:13 > top of Java-index,Java Essentials,New To Java...
# 8
Apparently it is using some OTHER java components.. How can I point it to MY new java?
RHjavaa at 2007-7-12 10:22:13 > top of Java-index,Java Essentials,New To Java...
# 9

..and here are the type and version outputs:

[root@IT-LAB ~]# type java

java is /usr/bin/java

[root@IT-LAB ~]# java -version

java version "1.4.2"

gcj (GCC) 3.4.6 20060404 (Red Hat 3.4.6-3.1)

Copyright (C) 2006 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

RHjavaa at 2007-7-12 10:22:13 > top of Java-index,Java Essentials,New To Java...
# 10
How can I change to new settings?
RHjavaa at 2007-7-12 10:22:13 > top of Java-index,Java Essentials,New To Java...