Ошибка Javax UriBuilder

У меня есть приложение Java, развернутое на сервере Jetty, и я использую Джерси. Когда я пытаюсь открыть URL-адрес, я получаю ошибку HTTP 500 со следующим сообщением. Я читал другие сообщения об этой ошибке, в которых говорилось, что проблема вызвана несколькими версиями Джерси и наличием двух классов UriBuilder, но у меня есть одна версия класса UriBuilder и одна и та же версия Джерси.

 java.lang.AbstractMethodError: javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/rs/core/UriBuilder;
        at javax.ws.rs.core.UriBuilder.fromUri(UriBuilder.java:119)
        at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:649)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:841)
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:543)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1593)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1239)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:481)
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1562)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1141)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
        at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:118)
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:513)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
        at org.eclipse.jetty.server.Server.handle(Server.java:564)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
        at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
        at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:258)
        at org.eclipse.jetty.io.ssl.SslConnection$3.succeeded(SslConnection.java:147)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
        at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:672)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:590)
    at java.lang.Thread.run(Thread.java:748)

вот мои зависимости от gradle:

sourceCompatibility = 1.6
targetCompatibility = 1.6

repositories {
    maven { url("https://plugins.gradle.org/m2/") }
    mavenCentral()
}

buildscript {
    repositories {
        maven { url("https://plugins.gradle.org/m2/") }
        mavenCentral()
    }
    dependencies { classpath 'com.netflix.nebula:gradle-ospackage-plugin:1.9.2' }
}

ext.jerseyVersion='1.17.1'
ext.jettyVersion='9.4.3.v20170317'
ext.glassfishVersion='2.9.1'

dependencies {
    compile "com.google.code.gson:gson:2.8.0"

    compile "com.sun.jersey:jersey-core:${jerseyVersion}"
    compile "com.sun.jersey:jersey-grizzly2:${jerseyVersion}"
    compile "com.sun.jersey:jersey-json:${jerseyVersion}"
    compile "com.sun.jersey:jersey-server:${jerseyVersion}"
    compile "com.sun.jersey:jersey-servlet:${jerseyVersion}"

    compile "com.sun.jersey.contribs:jersey-multipart:${jerseyVersion}"
    compile "com.sun.jersey.contribs:jersey-spring:${jerseyVersion}"

    compile 'commons-io:commons-io:2.4'

    compile 'javax.inject:javax.inject:1'

    compile 'javax.ws.rs:jsr311-api:1.1.1'

    testCompile 'junit:junit:4.10'

    testCompile group: 'org.jmock', name: 'jmock-junit4', version: '2.6.0'

    testCompile group: 'org.jmock', name: 'jmock-legacy', version: '2.6.0'

    testCompile group: 'cglib', name: 'cglib-nodep', version: '2.1_3'

    testCompile group: 'org.objenesis', name: 'objenesis', version: '1.0'

    testCompile group: 'org.hamcrest', name: 'hamcrest-core', version: '1.3'

    testCompile group: 'org.hamcrest', name: 'hamcrest-library', version: '1.3'

    compile 'log4j:log4j:1.2.17'

    compile 'org.apache.commons:commons-math3:3.2'

    compile 'org.clojure:clojure:1.6.0'

    compile "org.eclipse.jetty:jetty-server:${jettyVersion}"
    compile "org.eclipse.jetty:jetty-servlet:${jettyVersion}"
    compile "org.eclipse.jetty:jetty-webapp:${jettyVersion}"

    compile 'org.freemarker:freemarker:2.3.20'

    compile "org.glassfish.jersey.core:jersey-client:${glassfishVersion}"
    compile "org.glassfish.jersey.containers:jersey-container-grizzly2-servlet:${glassfishVersion}"
    compile "org.glassfish.jersey.connectors:jersey-grizzly-connector:${glassfishVersion}"
    compile 'com.hazelcast:hazelcast:2.6'
    compile 'org.springframework:spring-context:3.2.1.RELEASE'
    compile 'org.springframework:spring-core:3.2.1.RELEASE'
    compile 'org.springframework:spring-web:3.2.1.RELEASE'

    compile 'org.yaml:snakeyaml:1.12'
    compile 'org.quartz-scheduler:quartz:2.2.1'

}

person Tiara    schedule 12.07.2018    source источник
comment
Вероятно, просто несоответствующая версия ваших зависимостей ws. Можете ли вы перечислить свои зависимости / jar-файлы во время выполнения?   -  person Joakim Erdfelt    schedule 13.07.2018
comment
Скорее всего, версия библиотеки Jetty в вашей среде разработки отличается от версии, установленной на вашем сервере развертывания. В вашей IDE метод конкретен, а на сервере он абстрактен.   -  person Jim Garrison    schedule 13.07.2018
comment
uri(String) был добавлен в JAX-RS 2.0. Кажется, ваша версия Джерси не JAX-RS 2.0.   -  person Andreas    schedule 13.07.2018
comment
@JoakimErdfelt Я добавил зависимости в сообщение   -  person Tiara    schedule 13.07.2018
comment
Почему в вашем проекте есть зависимости как от Jersey 1.x, так и от Jersey 1.x? Выберите один и удалите другой. Удалить все org.glassfish.jersey   -  person Paul Samsotha    schedule 13.07.2018
comment
Я имею в виду Джерси 1.x и Джерси 2.x   -  person Paul Samsotha    schedule 13.07.2018
comment
@PaulSamsotha, потому что их нет в версии 1.17.1.   -  person Tiara    schedule 13.07.2018
comment
Извините, но я не понимаю, что вы имеете в виду. В своем посте вы сказали, что у вас нет двух разных версий Джерси, но они есть. com.sun.jersey — Джерси 1.x, а og.glassfish.jersey — Джерси 2.x. Они плохо сочетаются друг с другом. Используйте тот или иной. Удалите все, что вы не используете.   -  person Paul Samsotha    schedule 13.07.2018