2012-01-09 240 views
2

我有一個獨立的Java項目。我已經執行了maven乾淨安裝。我現在通過命令提示符進入target \ classes文件夾,並在classpath中設置所有必需的文件。現在我執行主類。結果正在顯示。設置JAR的類路徑

現在我通過命令提示符回到目標文件夾並嘗試執行jar文件(jar文件具有清單文件,其中定義了主類)。

Java -cp %CLASSPATH% -jar Destination-01.19-SNAPSHOT.jar 

現在我得到以下例外。我也從上面的語句中刪除了classpath屬性,但仍然得到相同的異常。所需的類在classpath變量中設置,這就是爲什麼我能夠在不使用-jar屬性的情況下運行主類的原因。

異常在線程 「主線」 java.lang.NoClassDefFoundError:組織/阿帕奇/ CO 蒙斯/日誌/的LogFactory

+1

我想你需要把類路徑放在你的MANIFEST文件中 – 2012-01-09 14:12:09

+0

檢查[this too](http://stackoverflow.com/questions/1510071/maven-how-can-i-add-an-arbitrary-classpath-入口到罐子) – 2012-01-09 14:15:01

+0

不是。嘗試打印'echo%CLASSPATH%'並查看包含LogFactory類的** jar **文件是否存在。 – OscarRyz 2012-01-09 14:15:38

回答

4

當您使用-jar這是唯一的機制設置程序的類路徑。

您必須在清單中的Class-Path行中列出您需要的所有jar(這意味着它們需要在本地文件系統中可找到),或者創建一個定製您需要的jar的自定義類加載器。