I am trying to run a Java program from my Terminal. I have Mac OS X 10.7.
teamL javac -jar kxml2-2.3.0.jar XMLHandler.java ServiceEndpoint.java TeamL.java
This is my Eclipse class file structure:

I am not able to find why is this throwing Unable to access jarfile kxml2-2.3.0.jar
?
If you are referencing any external libraries, then you have to add them to the classpath
. You can add it during compilation of the classes this way.
Go to the src directory and :
javac -classpath ".:<path_to_jar_file>" teamL/*.java
TO execute :
java -cp ".:<path_to_jar_file>" teamL.<class_name>
if your are using eclipse, then go to <project_directory>/bin/
here you can find the compiled classes (so you dont have to compile them) and directly run them using the above java
command
Note: Since your classes are packaged under teamL
package, you have to run the classes from outside the package by specifying the fully qualified name like teamL.ServiceEndpoint
Have you added that jar to the classpath when you execute the program on the command line? e.g.
java -classpath location_of_jar ...
javac
is a command to compile instead of that you should use the command Java.
- First set the classpath
- Then run it like this
java -classpath %classpathVariable% %YourClass% %arguments...
Running a Java Program from Command Prompt this could give you a better idea is for Windows but is similar.
来源:https://stackoverflow.com/questions/7598171/how-to-run-java-programs-from-the-terminal