我最近添加了Jersey Jars,用于休息,并且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)
谢谢。
答案 0 :(得分:0)
这些错误类型有时表示您在类路径中使用的库的版本是新旧版本。您使用的番石榴库之间可能不匹配。请参阅此相关问题的answer。
也许您应该考虑使用Maven处理项目依赖项。
答案 1 :(得分:0)
在某些情况下会导致该错误,例如:
您没有任何包含类jersey.repackaged.com.google.common.collect.Iterables的jar文件。但据我所知,您的文件jersey-guava-2.25.1.jar已经拥有它。因此,这种情况将被忽略。
上面的jar文件已损坏,因此无法加载该类。因此,您可以删除该jar并替换为其他适当的jar。
所有库中都有一个以上的类。也许其他的jar也包含该类。因此,您可以在IDE上检查这种情况并消除此冲突。
希望获得帮助!