2010-02-10 100 views
5

我的代碼編譯好,但我在這條線上流汗運行時錯誤:什麼會導致java.lang.NoClassDefFoundError?

File myFile = new File(FilenameUtils.concat(basePath, localPath));

拋出的錯誤是:

java.lang.NoClassDefFoundError: org/apache/commons/io/FilenameUtils

爲什麼代碼編譯如果可以不解決課堂?

感謝您的任何建議。

回答

9

您應該將commons-io庫添加到您的運行時類路徑中。

http://commons.apache.org/io/

在NetBeans項目屬性窗口,單擊在左邊的面板,並且在右側面板中有4個類別的classpath可以配置。您應該更新您的運行路徑或確保編譯包含commons-io庫。

+0

確定,即時通訊新到Java - 我怎麼把它添加到運行時路徑? im使用NetBeans,謝謝 – MalcomTucker 2010-02-10 15:08:42

+0

在NetBeans項目屬性窗口中,單擊左側面板中的Libraries,在右側面板中可以配置4個類路徑。你應該更新你的運行路徑或確保編譯包含commons-io庫。 – uthark 2010-02-10 15:18:15

+0

@uthark:你應該編輯你的答案,它會更有用:) – 2010-02-10 15:19:18

2

你可能在你的developen環境類路徑罐子,但你需要它在運行時類路徑

+0

如上,我如何將它添加到運行時路徑?即時通訊使用NetBeans,謝謝 – MalcomTucker 2010-02-10 15:09:25

+0

我不知道如何在NetBeans,但耳朵,並把所有的瓶子(你的和依賴)在裏面。 – 2010-02-10 16:01:25

3

檢查了這一點from the NetBeans tutorial

基本上,你要添加一個JAR文件(庫中, commons.apache.org IO one)添加到您的項目「屬性」類路徑中。

如果你運行命令行打包的項目,你可以指定類路徑是這樣的:

java -cp apache-io.jar myproject.jar