web-dev-qa-db-ja.com

org.glassfish.jersey.internal.RuntimeDelegateImplが見つかりません

私はプロジェクトにジャージを使用し、文字列からURIを解析するためにtringしています。

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

コードは簡単ですが、以下のエラーが表示されます

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

プログラムがデリゲートを見つけることができないようです。既にインポートしたjavax.ws.rs.core.UriBuilderjersey-common 2.0ビルドパスにデリゲートを含める必要があります。しかし、私はまだこのエラーを受け取ります。

誰かがそれを修正する方法を知っていますか?ありがとう!

27
Spark8006

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'
60

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
6
Thomas Newman

私の場合、問題はjavax.ws.rs-api-2.0.jarという名前の別のJarが使用されていることでした

そのjarを削除することで問題が解決しました。

私が使用した瓶:

<include name="jersey-client-1.9.jar" />
<include name="jersey-core-1.9.jar" />
<include name="jersey-multipart-1.9.jar" />
3
Shahadet
<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は機能しました。

3
Adrienne Dunham