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ó.