2014-09-05 107 views
1

從命令行調用Java類時Java無法找到可執行類,即使它位於類路徑中的JAR文件中。我在Python腳本中調用了這個函數,但是同樣的行爲發生在命令行上(Windows上的DOS)。任何人都可以建議嗎?類未找到錯誤,但類位於類路徑中的JAR文件中

c:\nco> java -mx1200m -cp C:\tmp\lib\indices-0.0.2-SNAPSHOT.jar nidis.indices.GriddedIndexCalculator 

Error: Could not find or load main class nidis.indices.GriddedIndexCalculator 

c:\nco> jar -tf C:\tmp\lib\indices-0.0.2-SNAPSHOT.jar | find "GriddedIndexCalculator" 

nidis/indices/GriddedIndexCalculator.class 
+3

這個類有主要方法嗎? – sidgate 2014-09-05 13:39:53

+0

爲什麼不是java -jar C:\ tmp \ lib \ indices-0.0.2-SNAPSHOT.jar? – JSlain 2014-09-05 13:46:46

+0

是的,這裏有一個主要的方法。在類路徑中還有其他的JAR,爲了簡潔起見,所討論的單個JAR文件僅僅被顯示。 – 2014-09-05 14:44:59

回答

1

由於安全原因,當您使用java -jar運行Java時,Java省略了類路徑變量。

解決的辦法是在MANIFEST.MF文件的Class-Path:屬性中定義相關性。