2013-04-20 155 views
1

我正在使用Eclipse,並在我的Java Project中添加了一個外部jar文件。它編譯成功並順利運行。當使用外部jar運行bat文件時NoclassDefFoundError異常

當我開始在Eclipse IDE之外運行時出現問題。我在bin文件夾中創建了一個bat文件(包含所有類的文件夾已經被編譯)。此bat文件是:

java package.ClassToRun 

但是當我執行這個bat文件,我收到錯誤:NoclassDefFoundError因爲Java找不到類X(X類在我的外部JAR文件)。

我該如何解決這個問題。 (意思是我可以在IDE之外運行這個類)。

+1

http://cs.brown.edu/courses/cs015/docs /guide_to_exporting_runnable_jars.pdf – 2013-04-20 18:54:12

回答

2

你可以在外部.jar添加到您的類路徑:

java命令/usr/local/jar/foobar.jar com.your.main.classname


您也可以在您擁有.jar文件的文件夾中創建一個文件夾(類似lib)。

Manifest.MF內容可以是:

Main-Class: com.your.main.classname 
Class-Path: lib/one.jar lib/two.jar 

文件夾的內容:

mainFolder/ 
    * lib/one.jar 
    * lib/two.jar 
    * my-main.jar 

要執行:

+0

感謝您的詳細幫助。我認爲你錯過';'當聲明jar時。該命令應該是:'java -cp path_to_jar_file; com.your.main.classname' – hqt 2013-04-20 20:03:18

+0

@hqt所以我做了,現在已經修復了。很高興我能幫上忙。 – syb0rg 2013-04-20 20:05:09

1

您應該在執行程序時將外部jar添加到-classpath。

相關問題