问题
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
?
回答1:
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
回答2:
Have you added that jar to the classpath when you execute the program on the command line? e.g.
java -classpath location_of_jar ...
回答3:
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