开发者

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

开发者 https://www.devze.com 2023-03-27 18:51 出处:网络
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

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

精彩评论

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