servlet创建的WebSphere Application Server/8.0/Uncaught初始化异常

ari*_*aya 3 rest websphere web-services websphere-8

我只是想在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 = component = thread = [WebContainer:370] Uncaught.init.exception.thrown.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 method = logServletError org = prod = component = thread = [WebContainer:370] SRVE0293E:[Servlet Error] - [jersey-serlvet]:java.lang.IncompatibleClassChangeError:org.objectweb.asm.位于com.ibm.ws的java.security.SecureClassLoader.defineClass(SecureClassLoader.java:69)的java.lang.ClassLoader.defineClass(ClassLoader.java:262)的java.lang.ClassLoader.defineClassImpl(Native Method)中的ClassVisitor com.ibm.ws.classloader.CompoundClassLoader.localFindClass(CompoundClassLoader.java:762)中的classloader.CompoundClassLoader._defineClass(CompoundClassLoader.java:852)位于com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoa)der.java:585)java.lang.ClassLoader.loadClass(ClassLoader.java:627)at java.lang.J9VMInternals.verifyImpl(Native Method)at java.lang.J9VMInternals.verify(J9VMInternals.java:85)at java .lang.J9VMInternals.verify(J9VMInternals.java:83)at java.lang.J9VMInternals.initialize(J9VMInternals.java:162)at com.sun.jersey.api.core.ScanningResourceConfig.init(ScanningResourceConfig.java:79)at Com.sun.jersey.api.core.PackagesResourceConfig.init(PackagesResourceConfig.java:104)at com.sun.jersey.api.core.PackagesResourceConfig.(PackagesResourceConfig.java:78)at com.sun.jersey.api.core .packagesResourceConfig.(PackagesResourceConfig.java:89)com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:700)at com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig( WebComponent.java:678)com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:203)at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:373)com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:556)at com.ibm.ws.webcontainer.servlet的javax.servlet.GenericServlet.init(GenericServlet.java:161) com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.init(ServletWrapperImpl.java:168)中的.ServletWrapper.init(ServletWrapper.java:336)位于com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java) :629)com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456)位于com.ibm的com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178).位于com.ibm.ws.webcontainer.WebContainer.handleRequest的com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87)中的ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1027) WebContainer.java:895)位于com.ibm.ws.webcontainer.channel.WCChannelL的com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)ink.ready(WCChannelLink.java:195)位于com.ibm.ws.http.channel.inbound.impl的com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458). HttpInboundLink.handleNewRequest(HttpInboundLink.java:522)位于com.ibm.ws.http.channel.inbound.impl的com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:311). HttpInboundLink.ready(HttpInboundLink.java:282)位于com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete的com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214) NewConnectionInitialReadCallback.java:113)com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)at com .ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)at com.ibm.io.async.AsyncFuture.completed(AsyncFutu)re.java:138)com.ibm.io.async.Result完整版(ResultHandler.java:204)com.ibm.io上的com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) .async.ResultHandler $ 2.run(ResultHandler.java:905)at 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>
Run Code Online (Sandbox Code Playgroud)

Kur*_*glu 5

这似乎是在IBM论坛上讨论了产品缺陷这里,一个用于其修复被释放.因此.引用链接引用,问题是;

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

论坛中列出了一些可能的解决方法,这有助于通过类路径修改来解决冲突.由于您目前不是8.5而是8.0,我建议您提高PMR以验证您的问题是否相同,并获得适用于您的版本的修复程序.