什么可能导致java.lang.NoClassDefFoundError?

时间:2010-02-10 15:04:31

标签: java

我的代码编译得很好,但是我在这一行上遇到了运行时错误:

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

抛出的错误是:

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

如果无法解析类,为什么代码会编译?

感谢您的任何建议。

3 个答案:

答案 0 :(得分:9)

您应该将commons-io库添加到运行时类路径中。

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

在NetBeans项目属性窗口中,单击左侧面板中的,右侧面板中可以配置4类类路径。您应该更新运行路径,或确保编译包含commons-io库。

答案 1 :(得分:3)

查看from the NetBeans tutorial

基本上,您要将JAR文件(库,commons.apache.org IO)添加到项目“属性”类路径中。

如果要从命令行运行打包的项目,可以像这样指定类路径:

java -cp apache-io.jar myproject.jar

答案 2 :(得分:2)

您可能在开发环境类路径中有jar,但是在运行时类路径中需要它