1. Set the command line option classpath
2. Set the CLASSPATH environment variable
The second option is easy, but has a draw back as a common CLASSPATH is shared within all the projects and classes, which makes it harder to test different projects with different classes.
So the first option is the prefered way. It is used as;
java -classpath first.jar;second.jar TestClient
When the paths to the jar files have spaces, the command line classpath option causes errors. Under Windows installation like 2000/NT/XP, all the users get a folder with the user name under a folder named "Documents and Settings" (which has a space). And if the jar files are under the user folder, path would look like "C:/Documents and Settings/someUser/.." which would cause the above error.
How to over come this issue
1. Put quotes and group the whole class path
java -classpath "C:/Documents and Settings/user/project/lib/axis.jar; C:/Documents and Settings/user/project/lib/axis-ant.jar;" TestClient
2. Put quotes on individual paths
java -classpath "C:/Documents and Settings/user/project/lib/axis.jar"; "C:/Documents and Settings/user/project/lib/axis-ant.jar;" TestClient
Both options didn't work for me....
ReplyDeleteLet us know how you are trying to set the classpath; then we'll work it out.
ReplyDeleteIf you can't get option 2 (quotes around individual paths) to work, make sure you don't have a space after the semi-colon. This was the case for me at least. For example:
ReplyDeleteCorrect:
java -classpath "classpath1";"classpath2" Foo
Incorrect:
java -classpath "classpath1"; "classpath2" Foo
Really helpful.
ReplyDeletei was looking for overcome that error.
it works.thanks.
You can also use a combination of both
ReplyDeletei.e.
javac -classpath path1;path2;"%CLASSPATH%" MyClass.java
This method did not work for me until I came to the realization that CLAPPSATH is NOT the same as CLASSPATH.
Dyslexia's a btich!