首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tomcat 6 Classloader :它正在读取哪个Jar?

Tomcat 6 Classloader :它正在读取哪个Jar?
EN

Stack Overflow用户
提问于 2014-12-27 08:57:15
回答 1查看 310关注 0票数 0

我有一个巨大的web应用程序,我必须支持它。最近,当我从SVN下载最新的源代码并尝试在Tomcat6上本地运行它时,我从该应用程序运行的一个后台批处理作业中得到以下错误...

代码语言:javascript
复制
2014-12-23 18:08:27 [taskScheduler-4] TaskUtils$LoggingErrorHandler [ERROR] Unexpected error occurred in scheduled task.
java.lang.NoSuchMethodError: javax.xml.stream.XMLEventFactory.newFactory()Ljavax/xml/stream/XMLEventFactory;
at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor$HeadersProcessor.<clinit>(ReadHeadersInterceptor.java:275)

因此,我认为问题出在我的应用程序的代码调用的Apache类ReadHeadersInterceptor试图从XMLEventFactory调用newFactory()方法,但没有找到该方法,这可能是因为它正在读取较旧版本的XMLEventFactory。

我认为这是因为我的lib文件夹中有一些JAR需要删除或添加。问题是我不知道是哪一个。我看到有几个罐子有XMLEventFactory,包括..

woodstox-core-asl-4.2.0 stax2-api-3.1.1

它也是rt.jar中Java6的一部分。

那么,在所有这些Jars中,它试图读取的是哪一个,但没有找到它需要的方法呢?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-02-26 21:57:00

这是JDK/JRE1.6的特定版本(我指的是更新)的问题。这看起来可能很奇怪,但JDK API因特定的主要版本而有所不同。

请在以下link中抢先一试。您可以看到,从版本1.6.0.17更改到1.6.0.18后,新方法已添加到XMLEventFactory类中。

可能您的JRE版本较少,谢谢1.6.0.18。我在使用Apache CXF和动态代理时也遇到过同样的问题。JRE 1.6.0.14到1.6.0.19的更新修复了该问题。

我希望它能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27663472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档