【发布时间】:2018-01-22 16:05:10
【问题描述】:
错误:
java.lang.NoSuchMethodError: org.glassfish.hk2.api.ServiceLocatorFactory.create(Ljava/lang/String;Lorg/glassfish/hk2/api/ServiceLocator;Lorg/glassfish/hk2/extension/ServiceLocatorGenerator;Lorg/glassfish/hk2/api/ServiceLocatorFactory$CreatePolicy;)Lorg/glassfish/hk2/api/ServiceLocator;
org.glassfish.jersey.internal.inject.Injections._createLocator(Injections.java:138)
pom.xml
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.22.1</version>
</dependency>
web.xml
<servlet>
<servlet-name>jersey-serlvet</servlet-name>
<servlet-class>
org.glassfish.jersey.servlet.ServletContainer
</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>...</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jersey-serlvet</servlet-name>
<url-pattern>/prods/*</url-pattern>
</servlet-mapping>
欢迎任何 cmets。谢谢
【问题讨论】:
-
NoSuchMethodError 很可能是由于涉及的库的版本冲突。因此调用 org.glassfish.hk2.api.ServiceLocatorFactory.create 的库与使用的 glassfish 版本不兼容。
-
我在这里使用了一些类似的xml文件afsinka.wordpress.com/2015/12/27/…
-
@peeskillet 谢谢。我是泽西岛和雄猫的新手。请问
org.glassfish.jersey.containers和tomcat是什么关系?当我运行mvn clean package并将war部署到tomcat 的webapps折叠时,为什么我们需要org.glassfish.jersey.containers? -
你的 pom.xml 中有
<artifactId>hk2-api</artifactId>吗?
标签: java maven jersey-2.0 tomcat8