我目前正在使用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)
...
项目B在commons-io-2.4.jar
中有WEB-INF\lib
,当项目B运行并使用Commons IO jar中的方法调用方法时,不会抛出任何异常。
项目A抛出此异常,无论其commons-io-2.4.jar
文件夹中是否有WEB-INF\lib
。
我已经检查过,Eclipse确实正在用项目部署jar。
有没有办法解决这个问题?
编辑:我目前正在使用Eclipse Indigo,而不是Juno。
编辑2:我制作了一个新的Java项目,它只有一个主线和一行:
FileUtil.createAndWriteToFile(new File("./test.txt"), "test-data");
以及项目B作为构建路径上的必需项目。没有例外。
答案 0 :(得分:0)
您可以调用项目A中项目B的任何方法吗?
尝试运行时,两个项目文件夹是否都打开?我在调试android项目时在eclipse中使用google maps api时遇到了这个问题。