2017-08-14 1 views
0

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

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> 

Alle Kommentare wurden begrüßt. Dank

+0

Ein NoSuchMethodError ist wahrscheinlich auf einen Versionskonflikt der beteiligten Bibliotheken zurückzuführen. Die Bibliothek, die org.glassfish.hk2.api.ServiceLocatorFactory.create aufruft, ist daher nicht mit der verwendeten Glassfish-Version kompatibel. – Heri

+0

Ich habe einige ähnliche XML-Dateien mit hier https://afsinka.wordpress.com/2015/12/27/restful-web-service-example-with-jersey-2-and-tomcat-8/ – BAE

+0

@peeskillet Dank. Ich bin neu in Jersey und Kater. Kann ich fragen, was ist die Beziehung zwischen 'org.glassfish.jersey.containers' und' tomcat'? warum brauchen wir 'org.glassfish.jersey.containers' wenn ich' mvn sauber Versandstücke laufen und bereitstellen 'war' zum' webapps' Falte Kater? – BAE

Antwort

0

Sie müssen hk2-api Abhängigkeit in Ihrem pom.xml Sie es hier finden können: und löschen Sie das Verzeichnis .m2 sauber und Projekt und Update-Projekt neu und führen Sie es.

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