开发者

Running a Java program from the command line that depends on a jar file?

I have a simple Java file Q.java that depends on an external library file X.jar. Both Q.java and X.jar are in the same directory. I can compile Q.java from the command line by doing: "javac -cp X.jar Q.java". This generates a Q.class file. How do I run this now? I tried all these:

1) java Q 2) java -cp X.jar Q

I keep getting a Exception in thread "main" java.lang.NoClassDefFoundError: Q Caused by: java.lang.ClassNotFoundException: Q

So 开发者_如何学Pythonhow do I run this from the command line now that I have the class file?


java -cp X.jar:. Q

You have to specify in the classpath that you want to use the JAR dependency AND the current local directory to resolve classes.


Edit suggested in the comments:

On Windows, replace : by ;:

java -cp X.jar;. Q


Set the current directory in your classpath, it should solve the problem. Most of the time, we need current directory in the classpath, so generally I advice to set "." (without quotes) in your system CLASSPATH environment variable instead of setting for each run.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜