Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld
Caused by: java.lang.ClassNotFoundException: HelloWorld
at java.security.AccessController.doPrivileged(Native Method)
Could not find the main class: HelloWorld. Program will exit.
Above exception is generated when tried to run the HelloWorld program But it can be run when the command
is issued, But when a new terminal is opened again the aforementioned command has to issued to execute any program.How to change or reset CLASSPATH so that when in a new terminal the command
The J2EE api Jars have no place in a default classpath. It's far better to supply them to your build processes that are explicitly intended to build only J2EE artefacts. Most of us use either Ant or Maven to do that, since building a J2EE deployable with raw batch command files is a rather nasty process.
Your primary cause of failure, however, isn't what you included. It's what you didn't include.
Java does not include the current directory in the classpath by default. Thus to run the "HelloWorld.class" file in the current directory, you need a command like this:
"." means your current directory. Note that the ".class" extension must not be supplied, unlike when you compile and must include the ".java" extension.
Although when you define a class without a package (default package), you are doing a Bad Thing and a lot of development tools will yell at you. Normally, you'd put the class in a package. For example:
If your work directory is "mydir" and it had 2 subdirectories: "src" and "classes", you'd put the java code in src/edu/ucf/cop1102/timh/HelloWorld.java and compile like so:
And you'd execute like so:
An IDE is no substitute for an Intelligent Developer.