0

一段时间以来,我一直在 Eclipse 中运行相同的 Web 应用程序,并且大量使用 org.apache.commons.io.output.ByteArrayOutputStream。
出乎意料的是,尽管 commons-io-2.4.jar 包含在构建路径中并标记为已导出,但该项目现在抛出 ClassNotFoundException。
这个类已经使用了一段时间,因此这个难题

我能做些什么来确保找到这个类更好?

编辑:我有两台服务器配置了 Tomcat 7.0.40 和 Tomcat 6.0.33
问题只显示在 Tomcat 7 上。


注意:已尝试以下解决方法:

  1. 重新启动 Eclipse。
  2. 清理项目
  3. 删除并重新添加 commons-io-2.4.jar

堆栈跟踪:

严重:子容器在启动期间失败
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: 无法启动组件 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/WebApp]]
    在 java.util.concurrent.FutureTask$Sync.innerGet(未知来源)
    在 java.util.concurrent.FutureTask.get(未知来源)
    在 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)
    在 org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800)
    在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
    在 org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
    在 java.util.concurrent.FutureTask$Sync.innerRun(未知来源)
    在 java.util.concurrent.FutureTask.run(未知来源)
    在 java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源)
    在 java.util.concurrent.ThreadPoolExecutor$Worker.run(未知来源)
    在 java.lang.Thread.run(未知来源)
原因:org.apache.catalina.LifecycleException:无法启动组件 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/WebApp]]
    在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
    ... 7 更多
引起:java.lang.NoClassDefFoundError: org/apache/commons/io/output/ByteArrayOutputStream
    在 java.lang.Class.getDeclaredFields0(本机方法)
    在 java.lang.Class.privateGetDeclaredFields(未知来源)
    在 java.lang.Class.getDeclaredFields(未知来源)
    在 org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:106)
    在 org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:261)
    在 org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:140)
    在 org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:67)
    在 org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:405)
    在 org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:881)
    在 org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:369)
    在 org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
    在 org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
    在 org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5269)
    在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    ... 7 更多
引起:java.lang.ClassNotFoundException:org.apache.commons.io.output.ByteArrayOutputStream
    在 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
    在 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
    ... 21 更多
4

1 回答 1

0

该问题已通过从 Eclipse中删除 Tomcat 7.0 实例并将其添加回来
解决了 我只能猜测服务器配置可能会不时损坏

于 2013-07-02T14:33:11.873 回答