【问题标题】:WebSphere Application Server/8.0 / Uncaught initialization exception created by servletWebSphere Application Server/8.0 / servlet 创建的未捕获的初始化异常
【发布时间】:2013-01-27 14:41:13
【问题描述】:

我只是想在 websphere 8.0 上部署一个示例 RESTful Web 服务示例,但我得到以下信息:

错误

[12.02.2013 05:13:07:728 VET] 00000c74 E UOW= source=com.ibm.ws.webcontainer.servlet class=com.ibm.ws.webcontainer.servlet.ServletWrapper method=init org= prod =组件=线程=[WebContainer:370] Uncaught.init.exception.throw.by.servlet [12.02.2013 05:13:07:728 VET] 00000c74 E UOW= source=com.ibm.ws.webcontainer.webapp class=com.ibm.ws.webcontainer.webapp.WebApp 方法=logServletError org= prod= component=线程=[WebContainer:370] SRVE0293E: [Servlet 错误]-[jersey-serlvet]: java.lang.IncompatibleClassChangeError: org.objectweb.asm.ClassVisitor 在 java.lang.ClassLoader.defineClassImpl(本机方法) 在 java.lang.ClassLoader.defineClass(ClassLoader.java:262) 在 java.security.SecureClassLoader.defineClass(SecureClassLoader.java:69) 在 com.ibm.ws.classloader.CompoundClassLoader._defineClass(CompoundClassLoader.java:852) 在 com.ibm.ws.classloader.CompoundClassLoader.localFindClass(CompoundClassLoader.java:762) 在 com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:585) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:627) 在 java.lang.J9VMInternals.verifyImpl(本机方法) 在 java.lang.J9VMInternals.verify(J9VMInternals.java:85) 在 java.lang.J9VMInternals.verify(J9VMInternals.java:83) 在 java.lang.J9VMInternals.initialize(J9VMInternals.java:162) 在 com.sun.jersey.api.core.ScanningResourceConfig.init(ScanningResourceConfig.java:79) 在 com.sun.jersey.api.core.PackagesResourceConfig.init(PackagesResourceConfig.java:104) 在 com.sun.jersey.api.core.PackagesResourceConfig.(PackagesResourceConfig.java:78) 在 com.sun.jersey.api.core.PackagesResourceConfig.(PackagesResourceConfig.java:89) 在 com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:700) 在 com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:678) 在 com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:203) 在 com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:373) 在 com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:556) 在 javax.servlet.GenericServlet.init(GenericServlet.java:161) 在 com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:336) 在 com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.init(ServletWrapperImpl.java:168) 在 com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:629) 在 com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456) 在 com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178) 在 com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1027) 在 com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87) 在 com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:895) 在 com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662) 在 com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195) 在 com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458) 在 com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:522) 在 com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:311) 在 com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:282) 在 com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214) 在 com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113) 在 com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165) 在 com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) 在 com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) 在 com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) 在 com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) 在 com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) 在 com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) 在 com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1783)

web.xml

<web-app id="WebApp_ID" version="2.4"
    xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

    <display-name>Restful Web Application</display-name>

    <servlet>
        <servlet-name>jersey-serlvet</servlet-name>
        <servlet-class>
            com.sun.jersey.spi.container.servlet.ServletContainer
        </servlet-class>
        <init-param>
            <param-name>com.sun.jersey.config.property.packages</param-name>
            <param-value>com.mkyong.rest.JSONService</param-value>
        </init-param>
        <init-param>
            <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
            <param-value>true</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>jersey-serlvet</servlet-name>
        <url-pattern>/rest/*</url-pattern>
    </servlet-mapping>

</web-app>

【问题讨论】:

    标签: rest web-services websphere websphere-8


    【解决方案1】:

    这似乎是 IBM 论坛 here 上讨论的产品缺陷,因此发布了 fix。引用链接的引用,问题是;

    WebSphere Application Server 使用的内部 ASM 库是 应用程序可访问。如果应用程序还部署了 ASM 库,可能会发生冲突。

    forums 中列出了一些可能的解决方法,这有助于通过修改类路径来解决冲突。由于您目前不是 8.5 而是 8.0,建议您提高 PMR 以验证您的问题是否相同,并针对您的版本进行修复。

    【讨论】:

      猜你喜欢
      • 2022-10-17
      • 1970-01-01
      • 2021-10-27
      • 1970-01-01
      • 2013-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多