java.lang.NoSuchMethodError : org. glassfish.hk2.api.ServiceLocatorFactory.create

标签 java maven jersey-2.0 tomcat8

错误:

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>

欢迎任何意见。谢谢

最佳答案

您需要将 hk2-api 依赖项添加到您的 pom.xml 中,您可以在下面找到它: 并删除 .m2 目录清理并重建项目并更新项目并运行它。

<dependency>
    <groupId>org.glassfish.hk2</groupId>
    <artifactId>hk2-api</artifactId>
    <version>2.5.0-b42</version>
</dependency>

关于java.lang.NoSuchMethodError : org. glassfish.hk2.api.ServiceLocatorFactory.create,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45680922/

相关文章:

java - 当我给出属性文件的相对路径时 FileNotFoundException

java - Spring boot 应用程序无法从控制台以 .jar 形式打开

java - spring-boot :repackage and mvn package之间的区别

java - Maven 需要额外的依赖来构建项目,而 Gradle 不需要

java - Wildfly 8 + Jersey war 文件部署问题

java - Jersey Restful Web 服务 - 使用多个对象上传文件

java - 如何使用查询参数控制 Jersey 序列化

java - org.eclipse.jetty.util.ssl.SslContextFactory$Client ClassNotFoundException 升级到 Jetty Server 9.4.16

java - 如何在 Linux 上安装 Java 开发环境(JDK、Maven、IDE、...) VirtualBox

java - 未报告的异常/this() 需要是第一个语句