[英]Run jar with dependencies from the command line
Java可以從命令行運行jar文件,如下所示:
java -jar foobar.jar
但是,如果foobar.jar
依賴於baz.jar
,則baz.jar
調用baz.jar
任何類,上面將拋出異常,因為JVM無法知道在哪里查找這些類。
但是,手冊頁(Linux上的OpenJDK 8)聲明:
使用
-jar
選項時,指定的JAR文件是所有用戶類的源,並忽略其他類路徑設置。
如果重新打包不是一個選項,有沒有辦法從命令行運行帶有依賴項的jar文件?
使用java -jar
,不在命令行上指定依賴項。 您有兩種方法可以將jar添加到類路徑:
使用主類調用java
並在命令行上添加jar文件,包括foobar.jar
:
java -cp foobar.jar:baz.jar com.mycompany.MainClass
在foobar.jar
的清單文件中包含依賴foobar.jar
(然后運行java -jar
)
Class-Path: baz.jar
我相信你在foobar.jar中只有一個主要課程。 如果它大於1,那么您需要指定執行哪一個。
在執行jar之前,您可以簡單地設置類路徑
export CLASSPATH=$CLASSPATH:/JAR_LOCATION/bar.jar
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.