[英]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.