java.lang.NoSuchMethodError: javax.ws.rs.core.Application.getProperties () Ljava / util / Map

Eu estou tentando implantar meu primeiro aplicativo de descanso usando jersey 2.17 .

Eu estou usando o Maven, GlassFish 3.1.2.2 para implantação.

O aplicativo é executado no eclipse (tomcat), mas apresenta o seguinte erro ao implantar por meio do console de administração glassfish.

Error occurred during deployment: Exception while loading the app : java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: org.apache.catalina.LifecycleException: java.lang.NoSuchMethodError: javax.ws.rs.core.Application.getProperties()Ljava/util/Map;. Please see server.log for more details. 

pom.xml

  4.0.0 JerseyExample JerseyExample 0.0.1-SNAPSHOT war  src   maven-compiler-plugin 3.1  1.7 1.7    maven-war-plugin 2.4  WebContent false       org.glassfish.jersey.containers jersey-container-servlet-core 2.17    

web.xml

   JerseyExample  MyJerseyExample org.glassfish.jersey.servlet.ServletContainer  jersey.config.server.provider.packages jerseyExample.resource  1   MyJerseyExample /example/*   

Ok, olhou para o seu problema. O External Glassfish v 3.1.2.2 que você está usando é compatível com JAVA-EE 6. E aquele através do qual você está executando seu aplicativo no eclipse é compatível com JAVA-EE 7.

Dê uma olhada nos dois docs java:

Classe de aplicativo Java Doc para EE6

Classe de aplicativo Java Doc para EE7

Você verá que o método getProperties foi introduzido no JAVA-EE 7.

Simplesmente atualize para o glassfish version-4.x que é compatível com o JAVA-EE 7. Supondo que nada mais quebras deva ser bom.

    Intereting Posts