Jersey/REST--NoSuchMethodError:com.sun.Jersey.core.reflection.ReflectionHelper.getContextClassLoaderPA()Ljava/security/PrivilegedAction;
我在尝试使用jersey构建REST服务时遇到NoSuchMethodError。任何帮助都将不胜感激 My POM.xml:Jersey/REST--NoSuchMethodError:com.sun.Jersey.core.reflection.ReflectionHelper.getContextClassLoaderPA()Ljava/security/PrivilegedAction;,java,rest,maven,jersey,Java,Rest,Maven,Jersey,我在尝试使用jersey构建REST服务时遇到NoSuchMethodError。任何帮助都将不胜感激 My POM.xml: <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-core</artifactId> <version>1.19</version> <
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-core</artifactId>
<version>1.19</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-servlet</artifactId>
<version>1.19</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>1.19</version>
</dependency>
泽西岛
球衣核心
1.19
泽西岛
泽西servlet
1.19
泽西岛
泽西岛客户
1.19
My web.xml:
<servlet>
<servlet-name>Rest</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.example.serversideauthservice.resources.AuthResource</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Rest</servlet-name>
<url-pattern>/auth/*</url-pattern>
</servlet-mapping>
休息
com.sun.jersey.spi.container.servlet.ServletContainer
com.sun.jersey.config.property.packages
com.example.serversideauthservice.resources.AuthResource
1.
休息
/认证/*
不确定我做错了什么,但当我检查API文档时,似乎我在mvn依赖项中有正确的版本
这是运行时的stacktrace
[INFO] INFO: Scanning for root resource and provider classes in the packages:
[INFO] com.example.serversideauthservice.resources.AuthResource
[INFO] Feb 21, 2015 2:35:26 PM com.google.apphosting.utils.jetty.JettyLogger warn
**[INFO] WARNING: failed Rest: java.lang.NoSuchMethodError: com.sun.jersey.core.reflection.ReflectionHelper.getContextClassLoaderPA()Ljava/security/PrivilegedAction;**
[INFO] Feb 21, 2015 2:35:26 PM com.google.apphosting.utils.jetty.JettyLogger warn
[INFO] WARNING: failed com.google.appengine.tools.development.DevAppEngineWebAppContext@7f74a932{/,D:\taxmarkets_main\taxmarket\target\taxmarket-1.0-SNAPSHOT}: java.lang.NoSuchMethodError: com.sun.jersey.core.reflection.ReflectionHelper.getContextClassLoaderPA()Ljava/security/PrivilegedAction;
[INFO] Feb 21, 2015 2:35:26 PM com.google.apphosting.utils.jetty.JettyLogger warn
[INFO] WARNING: failed JettyContainerService$ApiProxyHandler@660382ce: java.lang.NoSuchMethodError: com.sun.jersey.core.reflection.ReflectionHelper.getContextClassLoaderPA()Ljava/security/PrivilegedAction;
[INFO] Feb 21, 2015 2:35:26 PM com.google.apphosting.utils.jetty.JettyLogger warn
[INFO] WARNING: Error starting handlers
[INFO] java.lang.NoSuchMethodError: com.sun.jersey.core.reflection.ReflectionHelper.getContextClassLoaderPA()Ljava/security/PrivilegedAction;
[INFO] at com.sun.jersey.spi.scanning.AnnotationScannerListener.<init>(AnnotationScannerListener.java:94)
[INFO] at com.sun.jersey.spi.scanning.PathProviderScannerListener.<init>(PathProviderScannerListener.java:59)
[INFO] at com.sun.jersey.api.core.ScanningResourceConfig.init(ScanningResourceConfig.java:79)
[INFO] at com.sun.jersey.api.core.PackagesResourceConfig.init(PackagesResourceConfig.java:104)
[INFO] at com.sun.jersey.api.core.PackagesResourceConfig.<init>(PackagesResourceConfig.java:78)
[INFO] at com.sun.jersey.api.core.PackagesResourceConfig.<init>(PackagesResourceConfig.java:89)
[INFO] at com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:696)
[INFO] at com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:674)
[INFO] at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:205)
[INFO]信息:扫描包中的根资源和提供程序类:
[INFO]com.example.serversideauthservice.resources.AuthResource
[信息]2015年2月21日下午2:35:26 com.google.apphosting.utils.jetty.JettyLogger警告
**[信息]警告:失败的Rest:java.lang.NoSuchMethodError:com.sun.jersey.core.reflection.ReflectionHelper.getContextClassLoaderPA()Ljava/security/PrivilegedAction**
[信息]2015年2月21日下午2:35:26 com.google.apphosting.utils.jetty.JettyLogger警告
[信息]警告:com.google.appengine.tools.development失败。DevAppEngineWebAppContext@7f74a932{/,D:\taxmarkets\u main\taxmarket\target\taxmarket-1.0-SNAPSHOT}:java.lang.NoSuchMethodError:com.sun.jersey.core.reflection.ReflectionHelper.getContextClassLoaderPA()Ljava/security/PrivilegedAction;
[信息]2015年2月21日下午2:35:26 com.google.apphosting.utils.jetty.JettyLogger警告
[信息]警告:JettyContainerService失败$ApiProxyHandler@660382ce:java.lang.NoSuchMethodError:com.sun.jersey.core.reflection.ReflectionHelper.getContextClassLoaderPA()Ljava/security/PrivilegedAction;
[信息]2015年2月21日下午2:35:26 com.google.apphosting.utils.jetty.JettyLogger警告
[信息]警告:启动处理程序时出错
[INFO]java.lang.NoSuchMethodError:com.sun.jersey.core.reflection.ReflectionHelper.getContextClassLoaderPA()Ljava/security/PrivilegedAction;
[信息]位于com.sun.jersey.spi.scanning.AnnotationScannerListener.(AnnotationScannerListener.java:94)
[信息]位于com.sun.jersey.spi.scanning.PathProviderScannerListener。(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.(PackagesResourceConfig.java:78)
[信息]位于com.sun.jersey.api.core.PackagesResourceConfig.(PackagesResourceConfig.java:89)
[信息]位于com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:696)
[信息]位于com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:674)
[信息]位于com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:205)
我最近才面对这个问题。检查名称为com.sun.jersey.core.reflection.ReflectionHelper
的类是否存在于任何其他jar中
对我来说,我还有caliper.jar
,它是从那里加载的。该类没有getContextClassLoaderPA
执行grep-ir-com.sun.jersey.core.reflection.ReflectionHelper*
查看是否有其他jar显示相同的类。- Bea Weblogic 12.1.3.0.0
- jdk 1.7.0_75
- 泽西岛1.19
我有以下异常:java.lang.IllegalAccessError:试图访问方法com.sun.jersey.core.spi.factory.ResponseImpl。@peeskillet谢谢,我检查过了,但我仍然面临同样的问题。我已附上我的mvn dependency:tree结果供您参考。此外,我还检查了,该方法似乎出现在1.18.1中,这是我现在使用的方法。这如何不回答问题,也许我可以明确地说,删除可能包含相同类的其他JAR将解决问题?grep-ir ReflectionHelper*将为您提供具有相同类ReflectionHelper的JAR列表