java.lang.IllegalAccessError而试图测试部署在TomEE球衣REST Web服务 [英] java.lang.IllegalAccessError while trying to test a jersey REST webservice deployed on TomEE

查看:582
本文介绍了java.lang.IllegalAccessError而试图测试部署在TomEE球衣REST Web服务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经在Glassfish部署时这是工作的罚款位于新泽西州的REST Web服务。当我部署在Apache TomEE + 1.6版相同的war文件,我得到的异常

I have a Jersey-based REST webservice which is working fine when deployed on Glassfish. When I deploy the same war file on Apache TomEE+ 1.6 version, i get the exception

java.lang.IllegalAccessError:试图访问方法com.sun.jersey.core.reflection.ReflectionHelper.getContextClassLoader()Ljava /朗/类加载器;从类com.sun.jersey.spi.scanning.AnnotationScannerListener
    com.sun.jersey.spi.scanning.AnnotationScannerListener.<init>(AnnotationScannerListener.java:89)
    com.sun.jersey.spi.scanning.PathProviderScannerListener.<init>(PathProviderScannerListener.java:59)
    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&LT;&初始化GT;(PackagesResourceConfig.java:78)
    com.sun.jersey.api.core.PackagesResourceConfig&LT;&初始化GT;(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:158)
    org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
    org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process(AbstractProtocol.java:607)
    org.apache.tomcat.util.net.JIoEndpoint $ SocketProcessor.run(JIoEndpoint.java:313)
    java.util.concurrent.ThreadPoolExecutor中的$ Worker.runTask(来源不明)
    java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(来源不明)
    java.lang.Thread.run(来源不明)

java.lang.IllegalAccessError: tried to access method com.sun.jersey.core.reflection.ReflectionHelper.getContextClassLoader()Ljava/lang/ClassLoader; from class com.sun.jersey.spi.scanning.AnnotationScannerListener com.sun.jersey.spi.scanning.AnnotationScannerListener.<init>(AnnotationScannerListener.java:89) com.sun.jersey.spi.scanning.PathProviderScannerListener.<init>(PathProviderScannerListener.java:59) 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.<init>(PackagesResourceConfig.java:78) com.sun.jersey.api.core.PackagesResourceConfig.<init>(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:158) org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) java.lang.Thread.run(Unknown Source)

我试着用TomEE的WebProfile和JAX RS版也有,但是同样的问题。

I tried using WebProfile and JAX RS version of TomEE also, but same issue.

我的pom.xml依赖关系是这样的:

My pom.xml dependencies look like this:

<dependencies>


        <dependency>
                <groupId>org.glassfish.api</groupId>
                <artifactId>api</artifactId>
                <version>1</version>
                <type>pom</type>
        </dependency>
        <dependency>
                <groupId>org.glassfish.core</groupId>
                <artifactId>core</artifactId>
                <version>10.0-b28</version>
                <type>pom</type>
        </dependency>
        <dependency>

        <groupId>org.apache.maven</groupId>
        <artifactId>maven-project</artifactId>
        <version>3.0-alpha-2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-plugin-api</artifactId>
        <version>3.0.4</version>
    </dependency>
    <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-artifact</artifactId>
        <version>3.0.4</version>
    </dependency>
    <dependency>
                        <groupId>com.sun.jersey</groupId>
                        <artifactId>jersey-server</artifactId>
                        <version>1.8</version>
    </dependency>

                 <dependency>
                        <groupId>com.sun.jersey</groupId>
                        <artifactId>jersey-json</artifactId>
                        <version>1.8</version>
                 </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>
    <dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.3.0</version>
    </dependency>

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.3.0</version>
</dependency>

        <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>1.9</version>
        </dependency>

        <dependency>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-client</artifactId>
                <version>1.18.1</version>
        </dependency>

        <dependency>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-core</artifactId>
                <version>1.18.1</version>
        </dependency>
        <dependency>
                <groupId>asm</groupId>
                <artifactId>asm</artifactId>
                <version>20041228.180559</version>
        </dependency>
        <dependency>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-servlet</artifactId>
                <version>1.18.1</version>

        </dependency>
        <dependency>
            <groupId>org.apache.openejb</groupId>
            <artifactId>apache-tomee</artifactId>
            <version>1.6.0.1</version>
            <type>pom</type>
        </dependency>
   </dependencies>

有没有人遇到这样?请帮助。

Has anyone faced this before? Please help.

推荐答案

我从加的这里这个错误得到解决。

I added jersey-bundle-1.8-ea03.jar from here and this error was solved.

这篇关于java.lang.IllegalAccessError而试图测试部署在TomEE球衣REST Web服务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆