即使jar位于/lib中,也会抛出“java.lang.ClassNotFoundException:org.apache.commons.io.FileUtils”

即使jar位于/lib中,也会抛出“java.lang.ClassNotFoundException:org.apache.commons.io.FileUtils”,java,eclipse,apache-commons,Java,Eclipse,Apache Commons,我目前正在使用EclipseIndigo,有两个动态Web项目:项目A和项目B 项目A将项目B作为构建路径上的必需项目,并在属性->Java构建路径->订单和导出上打勾 然后我在项目a中有一个方法,它调用项目B中的一个方法,该方法具有以下行: FileUtils.writeStringToFile(file, data); 此行引发以下异常: java.lang.ClassNotFoundException: org.apache.commons.io.FileUtils at ja

我目前正在使用EclipseIndigo,有两个动态Web项目:项目A和项目B

项目A将项目B作为构建路径上的必需项目,并在属性->Java构建路径->订单和导出上打勾

然后我在项目a中有一个方法,它调用项目B中的一个方法,该方法具有以下行:

 FileUtils.writeStringToFile(file, data);
此行引发以下异常:

java.lang.ClassNotFoundException: org.apache.commons.io.FileUtils
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at my.package.projectB.Class.createAndWriteToFile(FileUtil.java:62)
    at my.package.projectA.Class.saveCurrentDialog(UIResponseStrategy.java:99)
    ...
项目B在WEB-INF\lib中有commons-io-2.4.jar,当项目B运行并使用commons-io-jar中的方法调用方法时,不会引发异常

无论项目A自己的WEB-INF\lib文件夹中是否有commons-io-2.4.jar,项目A都会引发此异常

我已经检查过了,Eclipse确实正在将jar与项目一起部署

有办法解决这个问题吗

编辑:我目前使用的是EclipseIndigo,而不是Juno

编辑2:我制作了一个新的Java项目,它只有一个main和一行:

 FileUtils.writeStringToFile(file, data);
FileUtil.createAndWriteToFilenew文件。/test.txt,测试数据


以及项目B作为构建路径上的必需项目。不会引发异常。

您可以从项目A中的项目B调用任何方法吗


尝试运行此操作时,两个项目文件夹都打开了吗?在调试android项目时,我在eclipse中使用google maps api时遇到了这个问题。

ProjectA从ProjectB调用了一些方法,但没有出现问题。正是这个方法有问题,因为它使用的是FileUtils。这两个项目都是在Eclipse中打开的。我现在刚刚阅读了您的第二次编辑。我回家后得看看这个。希望有人能更快地回答您的问题。但是,在项目B中的任何JAR中都能投影A调用方法吗?commons-io-2.4.jar是否在运行时部署到A的WEB-INF/lib文件夹中?