Java命令行中对jar依赖的处理

在我们使用javac和java命令来编译和运行Java程序时,经常会碰到需要引入外部jar依赖的情况。例如当我们使用org.json.JSONObject时,我们就需要引入json.jar这个外部包。但使用javac编译Java程序时,如何指定jar依赖呢?

我们用一个例子来说明。在下面的例子中,我们的主程序是Main.java,它的编译需要两个jar文件:json.jar和fast.jar,这两个jar文件都放在了./libs文件夹下。

javac -cp .:./libs/json.jar:./fast.jar Main.java

上面的命令会编译出Main.class文件。要运行这个class,我们需要下面的命令:

java -cp .:./libs/json.jar:./libs/fast.jar Main

注意,在运行时,我们同样需要指定它的jar依赖,否则会出现如下的运行时错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/json/JSONObject

你可能感兴趣的:(Java命令行中对jar依赖的处理)