簡體   English   中英

Java從命令行運行jar:找不到或加載主類com.test.Main時出錯

[英]Java run jar from command line: Error could not find or load main class com.test.Main

Windows控制台命令:

c:\..path..>java -jar TestApp.jar

結果: Error could not find or load main class com.test.Main

我正在使用IntelliJ 14,並且我的工件布局如下所示:

TestApp.jar/
--client.jar <----- com.test.Main is located here

--jogl/
----gluegen.jar
----jogl-all.jar

--META-INF/
----manifest.mf

清單文件信息:

Main-Class: com.test.Main
Class-Path: client.jar;jogl/gluegen-rt.jar;jogl/jogl-all.jar;

但是當我在IntelliJ中運行代碼時,它就成功了。

恐怕您不能這樣做,因為默認的Classloader無法從jar-in-a-jar加載。 我想IntelliJ會擴展這些jar並使其工作。

看到這里: 罐子里的參考罐子

但是有一個解決方案。 我使用maven-assembly-plugin創建具有依賴項的autorun-jars。 如果我擴展此jar,我發現所有jar依賴項都在jar內擴展。 這樣,Classloader可以加載所有類。

如果您不使用maven,則IntelliJ必須具有將項目導出為autorun-jar或類似名稱的選項。

編輯

如果行不通或將您的項目導出為autorun-jar不合適,也許One-JAR會為您服務,但是我沒有這個項目的經驗。

暫無
暫無

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

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