在我們使用javac和java命令來編譯和運行Java程序時笔喉,經(jīng)常會碰到需要引入外部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依賴休吠,否則會出現(xiàn)如下的運行時錯誤:
Exception in thread "main" java.lang.NoClassDefFoundError: org/json/JSONObject