的Java 6
jboss-as-7.1.1.Final的Java 6 - 試圖複製和粘貼文件時的StackOverflowError
我需要複製和粘貼文件。使用org.apache.commons.io.FileUtils我試着用下面的代碼,
如果我調用sync()
從一個jsp,讓
... java.lang.StackOverflowError的在 org.apache .appalina.core.ApplicationHttpRequest.removeAttribute(ApplicationHttpRequest.java:280) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.ApplicationHttpRequest.removeAttribute(ApplicationHttpRequest.java:280) [ jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.ApplicationHttpRequest.removeAttribute(ApplicationHttpRequest.java:280) [jbossweb-7.0.13.Final.jar:]
private void sync() {
try {
FileUtils.copyFile(new File("C:/jboss-as-7.1.1.Final/standalone/deployments/admin.war/xml/news_src/compose.xml"),
new File("C:/jboss-as-7.1.1.Final/standalone/deployments/admin.war/xml/news_dest/compose.xml"));
}
catch (IOException e) {
e.printStackTrace();
}
}
如果我運行相同的代碼作爲一個獨立的Java應用程序,該文件被複制並粘貼到目標
public static void main(String s[]) {
try {
FileUtils.copyFile(new File("C:/jboss-as-7.1.1.Final/standalone/deployments/admin.war/xml/news_src/compose.xml"),
new File("C:/jboss-as-7.1.1.Final/standalone/deployments/admin.war/xml/news_dest/compose.xml"));
}
catch (IOException e) {
e.printStackTrace();
}
}
爲什麼當在JBoss環境中調用代碼而執行與java應用程序相同的代碼運行成功時,我得到StackOverflowError嗎?謝謝。
您能澄清一下爲什麼您認爲StackOverflowError與'sync()'方法中的文件複製邏輯有關嗎? (我問,因爲根據你已經發布的堆棧跟蹤來看,它看起來像*不*。) – ruakh
stacktrace顯示錯誤位於完全不同的地方。它與文件副本無關。 – Andreas
@ruakh和Andreas感謝您的意見,請參閱我的答案。 – SyAu