I am trying to run java programm from unix. It is giving me NOCLASSDEFFOUND error for .class file which I am using in this programme. MY classpath everything is ok. So what are other possible reason please suggest.??? my package is abc.xyx and full path of this package is /var/tomcat4/webapps/../.../abc/xz my classpath is /var/tomcat4/webapps/../...
Where you in such a hurry that you made a typo error? If not your package abc.xyx should be in a directory abc/xyx . Here you say it is in abc/xz. Moreover by "../.." do you really mean "../.." or is it some kind of "another_subdir/another_subdir". Have you checked where your .class have been generated? Does it match your classpath? W.
Yes you are right ../.. are subdirectories in my classpth I've set /var/tomcat4/webapps/WEB-INF/classes. Now whole path for .class file is /var/tomcat4/webapps/WEB-INF/classes/abc/utils/xyz.class I am calling this xyz.class from test.class these classes are in package abc.utils so in classpath I am only specifying till classes. but when I am doing java test then I am getting exception in main NOclassDef found(/abc/utils/xyz) FYI I am doing java test from same folder where this .class files are. I hope I am clear. thanks SA
You need to call your *.class files from the root of the package (from the root of 'WEB-INF/classes'). First compile like this: javac abc/utils/xyz.java then call the class-file like this: java abc.utils.xyz.class and you need to put a .(dot) in your CLASSPATH