aspose file tools*
The moose likes Beginning Java and the fly likes NoClassDefFoundError Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "NoClassDefFoundError" Watch "NoClassDefFoundError" New topic
Author

NoClassDefFoundError

Francesca Gibbons
Greenhorn

Joined: Jul 30, 2008
Posts: 1
For code see:
http://java.sun.com/docs/books/tutorial/uiswing/examples/start/HelloWorldSwingProject/src/start/HelloWorldSwing.java

my .java file is in c:\jdk\bin
my .class file is in c:\jdk\bin

javac HelloWorldSwing.java

runs with no errors (jse 1.6.0.07)

java HelloWorldSwing

generates NoClassDefFoundError

I fail to understand why this is generated when the files are in the current directory. I've tried set CLASSPATH=C:\jdk\bin and then running java but i obtain the same result. I am positive this is not a typo. I had this problem many years ago when i first started Java, but haven't used it in years and am starting it up again. What am I missing? I've looked through the forum and the only think i haven't done is set a classpath environment which I dont (and others) think is necessary.

*****************************************
Thanks for your explanations. I created a start folder in the root. I could not run javac from anywhere but c:\jdk\bin.

Running javac c:\start\HelloWorldSwing.java in c:\start created the 2 class files.

Typing java start.HelloWorldSwing from bin folder still generated same error. java HelloWorldSwing generated same thing. java -classpath c:\start HelloWorldSwing also failed.

This seems so silly. Why does javac respond so easily to a directory path while java seems to be so clueless (like me).

**************************************
Commenting out the package start; line allows the command

java -classpath c:\start HelloWorldSwing

to work. Thanks again for your assistance.
[ July 30, 2008: Message edited by: Francesca Gibbons ]
[ July 30, 2008: Message edited by: Francesca Gibbons ]
camilo lopes
Ranch Hand

Joined: Aug 08, 2007
Posts: 202
check this url:
link


Brazil - Sun Certified Java Programmer - SCJP 5
http://www.camilolopes.com/ About Java - Update every Week.
Guide SCJP - tips that you need know http://blog.camilolopes.com.br/livrosrevistaspalestras/
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 36508
    
  16
I hope Francesca can read Portuguese, Camilo!

Welcome to JavaRanch

Don't put your own code into the bin directories; those are reserved for executable files from the Java installation. Put your code in its own directory, maybe a Java folder inside my Documents.

The file you have quoted has a package declaration. That means it will be in a folder called "start".
The way I would execute it is to put the .java file inside the Java folder and navigate to that folder then invoke
"javac -d . HelloWorldSwing.java"

The -d bit instructs the compiler to create a directory (if necessary) and the "." bit means to look for source files in the current directory.

The other way is to use the mkdir command to create a folder called start, put the .java file in there, compile it from inside the start folder without -d and .

In both cases, go outside the start folder and start the application with this command

java start.HelloWorldSwing

Good luck with it.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: NoClassDefFoundError
 
Similar Threads
NoClassDefFoundError
NoClassDefFoundError
NoClassDefFoundError
NoClassDefFoundError!?
NoClassDefFoundError