Подтвердить что ты не робот

Org.glassfish.jersey.internal.RuntimeDelegateImpl NOT FOUND

Я использую трикотаж для моего проекта и tring для анализа URI из строки.

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

Код прост, но я получаю сообщение об ошибке ниже

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

Кажется, программа не может найти делегата. Я уже импортировал javax.ws.rs.core.UriBuilder и имел jersey-common 2.0, который должен содержать делегат в моем пути сборки. Но я все еще получаю эту ошибку.

Кто-нибудь знает, как это исправить? Спасибо!

4b9b3361

Ответ 1

Если вы используете Maven, используйте следующую зависимость:

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

Для Gradle будет работать следующее:

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

Ответ 2

Развиваясь против среды Wildfly 10.1, я не хотел вводить Джерси в мои сборки. С Gradle я использовал

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

версия resteasy 3.0.19.Final. Эта банка содержит

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

с записью

org.jboss.resteasy.spi.ResteasyProviderFactory

Ответ 3

В моем случае проблема заключалась в том, что другой Jar использовался по имени: javax.ws.rs-апи-2.0.jar

Удаление этой банки разрешило мою проблему.

Ящик, который я использовал:

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

Ответ 4

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

Я столкнулся с проблемами с Java 8 и jersey-common 2.22.2, но 2.26 работал.