Java

Moderators: zibadian
Number of threads: 7818
Number of posts: 18218

This Forum Only
Post New Thread
Single Post View       Linear View       Threaded View      f

Report
java.lang.NoClassDefFoundError Posted by Raison on 13 Aug 2004 at 12:22 PM
Hi, this is probably common problem. But i am quite sure i have the correct procedures. Yet i cant solve this problem: My java program compiles but just cant run under command prompt. It can run under my IDE though which is jCreator.

CLASSPATH = .;C:\j2sdk1.4.2_04\jre\lib\ext;C:\Documents and Settings\Edmund\My Documents\My eBooks\My expt files\java workspace\school lab\lab2;C:\j2sdk1.4.2_04\jre\lib;"i\QTJava.zip"


 Directory of C:\Documents and Settings\Edmund\My Documents\My eBooks\My expt fi
les\java workspace\School Lab\Lab2\ClientClasses

[.]              [..]             TestFrog.class   TestFrog.java
               2 File(s)            707 bytes
               2 Dir(s)  33,909,579,776 bytes free

C:\Documents and Settings\Edmund\My Documents\My eBooks\My expt files\java works
pace\School Lab\Lab2\ClientClasses>java testfrog
Exception in thread "main" java.lang.NoClassDefFoundError: testfrog (wrong name:
 ClientClasses/TestFrog)
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)


TESTFROG.java

package ClientClasses;

import SCLab.*;

public class TestFrog {
	
	/**
	 * Method main
	 *
	 *
	 * @param args
	 *
	 */
	public static void main(String args[]) {
		Frog jeremy = new Frog();
		for(int i = 0;i<5;i++) jeremy.grow();
	}

	/**
	 * Method TestFrog
	 *
	 *
	 */
	public TestFrog() {
		// TODO: Add your code here
	}	
}


Directory structure of my files
 Directory of C:\Documents and Settings\Edmund\My Documents\My eBooks\My expt fi
les\java workspace\School Lab\Lab2

[.]             [..]            [ClientClasses] Lab2.jcp        Lab2.jcu
Lab2.jcw        [SCLab]         src_lab2.txt
               4 File(s)          1,853 bytes
               4 Dir(s)  33,909,379,072 bytes free

C:\Documents and Settings\Edmund\My Documents\My eBooks\My expt files\java works
pace\School Lab\Lab2>cd sclab

C:\Documents and Settings\Edmund\My Documents\My eBooks\My expt files\java works
pace\School Lab\Lab2\SCLab>dir/w
 Volume in drive C has no label.
 Volume Serial Number is 341F-4EBD

 Directory of C:\Documents and Settings\Edmund\My Documents\My eBooks\My expt fi
les\java workspace\School Lab\Lab2\SCLab

[.]                  [..]                 AdultStage.class
AdultStage.java      DeadStage.class      DeadStage.java
Frog.class           Frog.java            GrowingStage.class
GrowingStage.java    TadpoleStage.class   TadpoleStage.java
              10 File(s)          5,097 bytes
               2 Dir(s)  33,909,379,072 bytes free


Report
Re: java.lang.NoClassDefFoundError Posted by beancounter on 13 Aug 2004 at 2:00 PM
:
Hi;

At the command prompt try typing java TestFrog instead of java testfrog.

Hope this helps

Ken

Hi, this is probably common problem. But i am quite sure i have the correct procedures. Yet i cant solve this problem: My java program compiles but just cant run under command prompt. It can run under my IDE though which is jCreator.
:
: CLASSPATH = .;C:\j2sdk1.4.2_04\jre\lib\ext;C:\Documents and Settings\Edmund\My Documents\My eBooks\My expt files\java workspace\school lab\lab2;C:\j2sdk1.4.2_04\jre\lib;"i\QTJava.zip"
:

:
:
:  Directory of C:\Documents and Settings\Edmund\My Documents\My eBooks\My expt fi
: les\java workspace\School Lab\Lab2\ClientClasses
: 
: [.]              [..]             TestFrog.class   TestFrog.java
:                2 File(s)            707 bytes
:                2 Dir(s)  33,909,579,776 bytes free
: 
: C:\Documents and Settings\Edmund\My Documents\My eBooks\My expt files\java works
: pace\School Lab\Lab2\ClientClasses>java testfrog
: Exception in thread "main" java.lang.NoClassDefFoundError: testfrog (wrong name:
:  ClientClasses/TestFrog)
:         at java.lang.ClassLoader.defineClass0(Native Method)
:         at java.lang.ClassLoader.defineClass(Unknown Source)
:         at java.security.SecureClassLoader.defineClass(Unknown Source)
:         at java.net.URLClassLoader.defineClass(Unknown Source)
:         at java.net.URLClassLoader.access$100(Unknown Source)
:         at java.net.URLClassLoader$1.run(Unknown Source)
:         at java.security.AccessController.doPrivileged(Native Method)
:         at java.net.URLClassLoader.findClass(Unknown Source)
:         at java.lang.ClassLoader.loadClass(Unknown Source)
:         at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
:         at java.lang.ClassLoader.loadClass(Unknown Source)
:         at java.lang.ClassLoader.loadClassInternal(Unknown Source)
: 

:
: TESTFROG.java
:
:
: package ClientClasses;
: 
: import SCLab.*;
: 
: public class TestFrog {
: 	
: 	/**
: 	 * Method main
: 	 *
: 	 *
: 	 * @param args
: 	 *
: 	 */
: 	public static void main(String args[]) {
: 		Frog jeremy = new Frog();
: 		for(int i = 0;i<5;i++) jeremy.grow();
: 	}
: 
: 	/**
: 	 * Method TestFrog
: 	 *
: 	 *
: 	 */
: 	public TestFrog() {
: 		// TODO: Add your code here
: 	}	
: }
: 

:
: Directory structure of my files
:
:  Directory of C:\Documents and Settings\Edmund\My Documents\My eBooks\My expt fi
: les\java workspace\School Lab\Lab2
: 
: [.]             [..]            [ClientClasses] Lab2.jcp        Lab2.jcu
: Lab2.jcw        [SCLab]         src_lab2.txt
:                4 File(s)          1,853 bytes
:                4 Dir(s)  33,909,379,072 bytes free
: 
: C:\Documents and Settings\Edmund\My Documents\My eBooks\My expt files\java works
: pace\School Lab\Lab2>cd sclab
: 
: C:\Documents and Settings\Edmund\My Documents\My eBooks\My expt files\java works
: pace\School Lab\Lab2\SCLab>dir/w
:  Volume in drive C has no label.
:  Volume Serial Number is 341F-4EBD
: 
:  Directory of C:\Documents and Settings\Edmund\My Documents\My eBooks\My expt fi
: les\java workspace\School Lab\Lab2\SCLab
: 
: [.]                  [..]                 AdultStage.class
: AdultStage.java      DeadStage.class      DeadStage.java
: Frog.class           Frog.java            GrowingStage.class
: GrowingStage.java    TadpoleStage.class   TadpoleStage.java
:               10 File(s)          5,097 bytes
:                2 Dir(s)  33,909,379,072 bytes free
: 

:
:

Report
Re: java.lang.NoClassDefFoundError Posted by Raison on 13 Aug 2004 at 5:47 PM
This message was edited by Raison at 2004-8-14 7:15:20

Hi, I am very close to solving the problem.

My program finally worked if "TestFrog.java" is not packaged into ClientClasses and i run it in the ClientClasses directory.

Or i can keep the file packed in the package ClientClasses. I have to run it by specifying the whole package name even in the ClientClasses directory itself, i.e "java ClientClasses.TestFrog"

Therefore,i conjecture that even if i specify the classpath to include the current directory using '.', the class will not be visible if it is packed in a package unless you specify whole package name.

Really hope someone can enlighten me about this. Thanks!






 

Recent Jobs

Official Programmer's Heaven Blogs
Web Hosting | Browser and Social Games | Gadgets

Popular resources on Programmersheaven.com
Assembly | Basic | C | C# | C++ | Delphi | Flash | Java | JavaScript | Pascal | Perl | PHP | Python | Ruby | Visual Basic
© Copyright 2011 Programmersheaven.com - All rights reserved.
Reproduction in whole or in part, in any form or medium without express written permission is prohibited.
Violators of this policy may be subject to legal action. Please read our Terms Of Use and Privacy Statement for more information.
Operated by CommunityHeaven, a BootstrapLabs company.