簡體   English   中英

運行jar時java.lang.ClassNotFoundException且其依賴項位於同一目錄中

[英]java.lang.ClassNotFoundException when running a jar and its dependency is in the same directory

在eclipse上,我編譯了一個jar文件。 它在映射的netwrok驅動器上使用多個外部存檔。 該項目在Eclipse上完美運行。

我已經將jar +所有的依賴jars復制到某個Solaris目錄中。 然后我嘗試

java -jar myapp.jar

它給了我以下錯誤:

Exception in thread "main" java.lang.NoClassDefFoundError: confmng/ConfigManager

錯誤消息中指定的此類位於已映射的jar之一內,我已將其復制到與主jar相同的目錄中。

此外,我從solaris ping了依賴項jar所在的服務器,它是肯定的。

您還可以看到confmng包中的ConfigManager類確實在依賴項jar中:

在此處輸入圖片說明

有什么事嗎

謝謝

您必須為依賴項指定類路徑,可以在清單類路徑中或在帶有-classpath參數的java -jar myapp.jar命令中指定。

例:

java -classpath dependency1.jar;subfolder/dependency2.jar;myapp.jar package.of.your.main.Class

您還可以在Eclipse中導出Runnable Jar,因此會有一些選項可以處理依賴項,例如選項“將所需的庫打包到生成的JAR中”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM