1

我目前正在使用 Eclipse Indigo 并有两个动态 Web 项目:项目 A 和项目 B。

项目 A 将项目 B 作为构建路径上的必需项目,并且将其勾选Properties -> Java Build Path -> Order and Export

然后我在项目 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)
    ...

项目 Bcommons-io-2.4.jarWEB-INF\lib项目 B 中运行并使用 Commons IO jar 中的方法调用方法时,不会引发异常。

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

我已经检查过,Eclipse 确实在部署项目的 jar。

有没有办法解决这个问题?

编辑:我目前使用的是 Eclipse Indigo,而不是 Juno。

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

FileUtil.createAndWriteToFile(new File("./test.txt"), "test-data");

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

4

1 回答 1

0

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

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

于 2013-08-19T22:30:29.493 回答