Как решить Restful веб-службы ошибка при запуске Tomcat? - PullRequest
0 голосов
/ 30 сентября 2018

Я недавно добавил банки Джерси для использования rest, и tomcat не удалось запустить из-за следующей ошибки:

Oct 01, 2018 12:13:11 AM org.glassfish.jersey.internal.inject.Providers checkProviderRuntime
WARNING: A registered provider org.glassfish.jersey.jaxb.internal.JaxbParamConverterBinder is constrained (via @ConstrainedTo) to SERVER runtime but does not implement any provider interface usable in the runtime. Due to constraint configuration problems the provider org.glassfish.jersey.jaxb.internal.JaxbParamConverterBinder will be ignored. 
Oct 01, 2018 12:13:12 AM org.apache.catalina.core.ApplicationContext log
SEVERE: StandardWrapper.Throwable
java.lang.NoSuchMethodError: jersey.repackaged.com.google.common.collect.Iterables.concat(Ljava/lang/Iterable;Ljava/lang/Iterable;)Ljava/lang/Iterable;
    at org.glassfish.jersey.server.internal.ConfigHelper.getContainerLifecycleListener(ConfigHelper.java:92)
    at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:172)
    at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:363)
    at javax.servlet.GenericServlet.init(GenericServlet.java:158)
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1230)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1174)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1066)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5370)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5668)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1700)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1690)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

Список банок, в которые также включены банки Джерси: enter image description here

Спасибо.

Ответы [ 2 ]

0 голосов
/ 30 сентября 2018

В некоторых случаях возникает ошибка, например:

  1. У вас нет файла jar, содержащего класс jersey.repackaged.com.google.common.collect.Итерируемый.Но, как я знаю, ваш файл jersey-guava-2.25.1.jar уже есть.Поэтому этот случай игнорируется.

  2. Приведенный выше файл jar поврежден, поэтому он не может загрузить этот класс.Таким образом, вы можете удалить этот jar-файл и заменить его другим соответствующим образом.

  3. В ваших библиотеках более одного класса.Может быть, другие банки тоже содержат этот класс.Таким образом, вы можете проверить этот случай в своей IDE и устранить этот конфликт.

Надеюсь, что эта помощь!

0 голосов
/ 30 сентября 2018

Эти типы ошибок иногда указывают, что у вас есть более старые и новые версии библиотек, которые вы используете в вашем пути к классам.Может быть несоответствие между библиотеками гуавы, которые вы используете.См. ответ на этот связанный вопрос .

Возможно, вам следует рассмотреть возможность использования Maven для обработки зависимостей проекта.

...