Hi, ive only started to program in Java for the last couple of days. I picked up a disk containing JDK 1.3 from my uni so that I can compile programs at home.

I typed up this very simple program which is shown below

public class Hello 
{   
    public static void main(String[] args)
    { System.out.print("Hello you");

    }
}         

When I tried compiling it I get this

C:\Documents and Settings\Owner>javac Hello.java
error: cannot read: Hello.java
1 error

C:\Documents and Settings\Owner>java Hello
Exception in thread "main" java.lang.NoClassDefFoundError: Hello

I dont know whether theres a problem with the program which i'm pretty sure is OK, the disk or even my PC. If anyone can explain to me what [I]'Exception in thread "main" java.lang.NoClassDefFoundError: Hello'[/I] means I will really appreciate it.

Thanks.

Mus.

Did you save the java file in the right directory? Also have you set the classpath and stuff like that?

Hi thanks for replying to my post about my problems with compiling. What do you mean about saving the java file in the right directory. I'm confused can you reply back please i will really appreciate it.

Thanks,
Mus

What I really meant was that did you open the directory where the program was saved before trying to compile.
Example:
If you saved the program in C:/javawork
but if you are at the command line and and it says C:/documents and settings....blah blah it wont compile because thats not were the file was saved.

If you try to do this you'll get an error that says: error cannot read: Example.java
1 error

Im sure this is your problem because your error message is the same as above.
To fix this you need to:
at the command line type in: cd \DirectoryWereYouSavedTheJavaProgram
Then try to compile, and that should fix all your problems.

You posted that you tried this: C:\Documents and Settings\Owner>javac Hello.java
This is saying that your program is saved in C:\Documents and Settings\Owner but i dont know if you save your programs there or not.

I hope I was able to explain this good enough, I know it sounds confusing.
If the problem persists or if you are unclear on directions let me know.

first create a folder on the root of the c: drive called Java or something of that nature. Move any applications you build there. Make sure you have edited the system path to include the jdk.

to compile :

c:\Doc~>cd C:\Java
c:\Java>javac Application.java

to run:
c:\Java>java Application

System.out.print("Hello you");
I believe what you want is println() and not print()

he shouldn't have to set the classpath, as i believe it's done when the sdk is installed.

System.out.print("Hello you");
I believe what you want is println() and not print()

he shouldn't have to set the classpath, as i believe it's done when the sdk is installed.

Since he's only got one line to print it won't make a diffrence if he uses print() over println().

Also I had to manually set the classpath when I installed the sdk, so it cant always be set correctly when its installed.

Thanks a lot for your help I tried what you said and it works fine know. :D

Thanks again.
Mus

Thanks a lot for your help everything works now.
Thanks again. :)

Mus.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.