2013-08-19 50 views
1

我目前使用Eclipse Indigo並且有兩個動態Web項目:項目A和項目B.即使jar在/ lib中,「java.lang.ClassNotFoundException:org.apache.commons.io.FileUtils」也被拋出

項目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.jarWEB-INF\lib中,當項目B運行並使用Commons IO jar中的方法調用方法時,不會引發異常。

項目A會拋出此異常,不管它是否在其自己的WEB-INF\lib文件夾中有commons-io-2.4.jar

我檢查了一下,Eclipse確實正在部署jar包。

有沒有辦法解決這個問題?

編輯:我目前使用Eclipse Indigo,而不是Juno。

編輯2:我做了一個新的Java項目,只有一個主行:

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

以及項目B作爲構建路徑上形成需要的項目。沒有例外被拋出。

回答

0

你可以從項目A中的項目B調用任何方法嗎?

當你嘗試運行這兩個項目文件夾都打開?我在調試android項目時在eclipse中使用google maps api時遇到了這個問題。

+0

項目A從項目B調用幾個方法沒有問題。這只是因爲它使用FileUtils而存在問題。這兩個項目都在Eclipse中打開。 – Ivan

+0

我剛剛閱讀你的第二個編輯。當我回家時我將不得不看這個。希望有人可以早日回答你。 – eddiecubed

+0

但是可以在項目B中的任何* jar *項目中調用一個調用方法嗎? commons-io-2.4.jar在運行時部署到A的WEB-INF/lib文件夾中? – nitind

相關問題