Ich benutze Websphere Liberty-Profil, um meine Ruhe-API zu implementieren. Ich sehe unten Fehlermeldung, wenn ich versuche, meine API zu testen. Ich habe keine Ahnung, wo diese Jboss-Klassen kommen. Ich finde buchstäblich keine Dateien, die mit JBOSS zu tun haben. Kann jemand bitte erklären, wo diese Jboss Fehler vonjava.lang.ClassCastException: org.jboss.weld.manager.BeanManagerImpl nicht kompatibel mit com.sun.jersey.server.impl.cdi.CDIExtension
[ERROR ] SRVE0271E: Uncaught init() exception created by servlet [REST Service] in application [gmc]: java.lang.ClassCastException: org.jboss.weld.manager.BeanManagerImpl incompatible with com.sun.jersey.server.impl.cdi.CDIExtension
at com.sun.jersey.server.impl.cdi.CDIExtension.getInitializedExtension(CDIExtension.java:180)
at com.sun.jersey.server.impl.cdi.CDIComponentProviderFactory.<init>(CDIComponentProviderFactory.java:95)
at com.sun.jersey.server.impl.cdi.CDIComponentProviderFactoryInitializer.initialize(CDIComponentProviderFactoryInitializer.java:76)
at com.sun.jersey.spi.container.servlet.WebComponent.configure(WebComponent.java:572)
at com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.configure(ServletContainer.java:332)
at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:604)
at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:207)
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:394)
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:577)
at javax.servlet.GenericServlet.init(GenericServlet.java:244)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:330)
at [internal classes]
[ERROR ] SRVE0315E: An exception occurred: java.lang.Throwable: javax.servlet.ServletException: SRVE0207E: Uncaught initialization exception created by servlet
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:4898)
at [internal classes]
Caused by: javax.servlet.ServletException: SRVE0207E: Uncaught initialization exception created by servlet
at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:399)
... 1 more
Caused by: java.lang.ClassCastException: org.jboss.weld.manager.BeanManagerImpl incompatible with com.sun.jersey.server.impl.cdi.CDIExtension
at com.sun.jersey.server.impl.cdi.CDIExtension.getInitializedExtension(CDIExtension.java:180)
at com.sun.jersey.server.impl.cdi.CDIComponentProviderFactory.<init>(CDIComponentProviderFactory.java:95)
at com.sun.jersey.server.impl.cdi.CDIComponentProviderFactoryInitializer.initialize(CDIComponentProviderFactoryInitializer.java:76)
at com.sun.jersey.spi.container.servlet.WebComponent.configure(WebComponent.java:572)
at com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.configure(ServletContainer.java:332)
at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:604)
at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:207)
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:394)
at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:577)
at javax.servlet.GenericServlet.init(GenericServlet.java:244)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:330)
... 1 more
ich Sie gehe davon haben CDI-1.2 in server.xml konfiguriert. Liberty verwendet den CDI RI, der schweißbar ist und in einem jboss-Paket kommt, aus dem die Klassen stammen. Sie haben Jersey in Ihrer App, die etwas Seltsames macht, aber was ich nicht weiß ohne weitere Informationen über Versionen. – Alasdair
JBoss ist nur ein Software-Unternehmen wie Apache, IBM, Sun/Oracle, etc. Unter anderem sind sie Schöpfer von Weld, einer CDI-Implementierung, die zufällig von WebSphere verwendet wird. Es ist nicht der JBoss AS orso, wie du denkst. Sie fragen sich auch nicht, was genau diese Sun-Klassen dort auf Ihrem IBM-Server tun, oder? Das ist nicht ihr GlassFish-Server, sondern nur ihre JAX-RS-Implementierung, die zufällig von WebSphere verwendet wird. – BalusC
WebSphere verwendet Jersey nicht als JAX-RS-Implementierung. – Alasdair