2012-01-25 126 views
0

我在Windows環境中的E:/ foo/bar文件夾內。我有一個jar文件,如E:/foo/bar/a.jar。另外在foo/bar裏面有很多jar文件。另外在foo/bar下還有另一個名爲ext的目錄。它還包含大量的jar文件。用文件夾中的jar執行jar文件

我想使用包含在類路徑(包括當前目錄和ext目錄)中的那些jar運行a.jar。所以我用這個。

java -jar a.jar -classpath *:/ext/* 

這沒有奏效。我沒有在a.jar中的MANIFEST.MF中添加任何條目,認爲這將從-classpath條目中獲取。我在這裏做錯了什麼?

謝謝

回答

1

如果指定-jar-classpath選項被忽略。行動

兩種可能當然,我可以看到:

  1. 將清單在主罐是指定其他罐。
  2. 在運行時指定類路徑。
    1. 刪除調用的-jar選項。
    2. 指定所有相關的JAR
    3. 完全合格的類名添加到命令的結尾,像
      java -classpath *:/ext/* com.our.MainClass
+0

感謝。你的3)不工作。它在線程「main」中拋出異常java.lang.NoClassDefFoundError:test.test.MyClass – Dilshan

+1

我不確定通配符,我不使用它們。嘗試在類路徑中明確指定帶有主類的Jar,並查看錯誤消息是否更改。 –

+0

問題是有數百個jar文件。我不知道哪些是需要的,哪些不是。 – Dilshan