tutorial restful jax example java rest glassfish jersey jax-rs

java - restful - org.glassfish.jersey.internal.RuntimeDelegateImpl NO ENCONTRADO



restful java (4)

Estoy usando jersey para mi proyecto y trato de analizar un URI de una cadena.

UriBuilder.fromUri("http://localhost:8000").build();

El código es simple, pero me sale un error abajo

java.lang.ClassNotFoundException: org.glassfish.jersey.internal.RuntimeDelegateImpl

Parece que el programa no puede encontrar el delegado. Ya javax.ws.rs.core.UriBuilder y tengo jersey-common 2.0 que debería contener al delegado en mi ruta de compilación. Pero todavía me sale este error.

¿Alguien sabe como arreglarlo? ¡Gracias!


Desarrollando contra un tiempo de ejecución de Wildfly 10.1 no quería introducir Jersey en mis versiones. Con Gradle usé

testRuntime "org.jboss.resteasy:resteasy-jaxrs:$versions.resteasy"

La versión de resteasy es 3.0.19.Final. Este frasco contiene

META-INF/services/javax.ws.rs.ext.RuntimeDelegate

con una entrada

org.jboss.resteasy.spi.ResteasyProviderFactory


En mi caso, el problema fue que se usó otro Jar llamado javax.ws.rs-api-2.0.jar

Quitar ese tarro resolvió mi problema.

El tarro que he usado:

<include name="jersey-client-1.9.jar" /> <include name="jersey-core-1.9.jar" /> <include name="jersey-multipart-1.9.jar" />


Si está utilizando Maven, use la siguiente dependencia:

<dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-common</artifactId> <version>2.22.2</version> <scope>test</scope> </dependency>

Para Gradle, funcionará lo siguiente:

testCompile ''org.glassfish.jersey.core:jersey-common:2.22.2''


<dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-common</artifactId> <version>2.26</version> <scope>test</scope> </dependency>

Me encontré con problemas con Java 8 y jersey-2.22.2 pero 2.26 funcionó.