I have Simple java program named MainController.java. Wehn I try to compile it from the directory where I have stored my MainController.java file by writing javac MAinController.java, it compiles properly and generates MainController.class file in the same directory. Now
1) when I try to run the file by writing “java MainController”, it gives me
Exception in thread "main" java.lang.NoClassDefFoundError: MainController (wrong name: cased/test/MainController)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: MainController. Program will exit.
ragini@ragini-ThinkPad-W500:~/workspace/Test/src/cased/test$
I know there is some problem with my classpath. How do I set ? I want that when I run command “java MainController” from the directory where there is Maincontroller.class file, it should run it. I dont want to pass -cp parameter to java command each time I want to run it.
For jvm info I ran “java -version” and it displays following:
java version “1.6.0_22”
OpenJDK Runtime Environment (IcedTea6 1.10.6) (6b22-1.10.6-0ubuntu1)
OpenJDK Server VM (build 20.0-b11, mixed mode)
Please tell me how to set classpath variable and what it to set for above jvm.
Thank you in advance.
You need to add the package name when you execute
MainController. From your~workspace/Test/srcdirectory, execute the following: