Java. Lang. Nosuchmethoderror: Org. Glassfish. Hk2. Api. Servicelocatorfactory. Create

Java. Lang. Nosuchmethoderror: Org. Glassfish. Hk2. Api. Servicelocatorfactory. Create

Error:

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>

Any comments welcomed. Thanks

4

2 Answers

you need to hk2-api dependency into your pom.xml you can find it below: and delete the .m2 directory clean and rebuild project and update project and run it.

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

A similar issue I've faced recently and tried to check all jar's dependencies :) However, there is an easy solution for maven projects. Maybe it solves your issue. Add this maven plugin;

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.0.0-M3</version>
<configuration>
    <rules>
        <dependencyConvergence />
    </rules>
</configuration>
</plugin>

Run this;

mvn enforcer:enforce

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Elena Rostova
Author

Elena Rostova

Elena Rostova holds a Master's degree in Public Health Journalism. She covers groundbreaking medical research, holistic wellness trends, mental health awareness, and nutritional science.