java.util.ServiceConfigurationError:org.apache.juli.logging.Log:提供程序org.eclipse.jetty.apache.jsp.JuliLog不是子类型

new*_*huy 6 rest jetty maven spring-boot

我是 Spring MVC、Jetty 和 Restful 的新手。我正在尝试部署我的宁静应用程序,使用此命令时运行完美>

mvn clean jetty:run
Run Code Online (Sandbox Code Playgroud)

它给出以下错误:

java.util.ServiceConfigurationError:org.apache.juli.logging.Log:提供程序org.eclipse.jetty.apache.jsp.JuliLog不是子类型 在 java.util.ServiceLoader.fail (ServiceLoader.java:239) 在 java.util.ServiceLoader.access$300 (ServiceLoader.java:185) 在 java.util.ServiceLoader$LazyIterator.nextService (ServiceLoader.java:376) 在 java .util.ServiceLoader$LazyIterator.next (ServiceLoader.java:404) 在 java.util.ServiceLoader$1.next (ServiceLoader.java:480) 在 org.apache.juli.logging.LogFactory。(LogFactory.java:77)位于 org.apache.juli.logging.LogFactory。(LogFactory.java:65)位于 org.apache.tomcat.websocket.WsWebSocketContainer。(WsWebSocketContainer.java:92)位于 org.apache.tomcat.websocket.server.WsServerContainer。(WsServerContainer.java:85) 位于 org.apache.tomcat.websocket.server.WsSci.init (WsSci.java:131) 位于 org.apache.tomcat.websocket.server.WsSci.onStartup (WsSci.java:47) org.eclipse.jetty.plus.annotation.ContainerInitializer.callStartup (ContainerInitializer.java:140) 在 org.eclipse.jetty.annotations.ServletContainerInitializersStarter.doStart (ServletContainerInitializersStarter.java:64) 在 org.eclipse.jetty.util.component。 AbstractLifeCycle.start (AbstractLifeCycle.java:68) 在 org.eclipse.jetty.servlet.ServletContextHandler.startContext (ServletContextHandler.java:347) 在 org.eclipse.jetty.webapp.WebAppContext.startWebapp (WebAppContext.java:1497) 在 org .eclipse.jetty.maven.plugin.JettyWebAppContext.startWebapp (JettyWebAppContext.java:360) 在 org.eclipse.jetty.webapp.WebAppContext.startContext (WebAppContext.java:1459) 在 org.eclipse.jetty.server.handler.ContextHandler .doStart (ContextHandler.java:852) 在 org.eclipse.jetty.servlet.ServletContextHandler.doStart (ServletContextHandler.java:278) 在 org.eclipse.jetty.webapp.WebAppContext.doStart (WebAppContext.java:545) 在 org. eclipse.jetty.maven.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:428)位于org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)位于org.eclipse.jetty.util.component。 ContainerLifeCycle.start (ContainerLifeCycle.java:167) 位于 org.eclipse.jetty.util.component.ContainerLifeCycle.doStart (ContainerLifeCycle.java:119) 位于 org.eclipse.jetty.server.handler.AbstractHandler.doStart (AbstractHandler.java: 113) 在 org.eclipse.jetty.util.component.AbstractLifeCycle.start (AbstractLifeCycle.java:68) 在 org.eclipse.jetty.util.component.ContainerLifeCycle.start (ContainerLifeCycle.java:167) 在 org.eclipse.jetty .util.component.ContainerLifeCycle.doStart (ContainerLifeCycle.java:119) 位于 org.eclipse.jetty.server.handler.AbstractHandler.doStart (AbstractHandler.java:113) 位于 org.eclipse.jetty.util.component.AbstractLifeCycle.start (AbstractLifeCycle.java:68) 在 org.eclipse.jetty.util.component.ContainerLifeCycle.start (ContainerLifeCycle.java:167) 在 org.eclipse.jetty.server.Server.start (Server.java:418) 在 org. eclipse.jetty.util.component.ContainerLifeCycle。

我的pom.xml如下:pom.xml

我的项目如下:项目

我已经尝试过很多次了,但一直没有成功。请帮忙!

小智 5

由于您使用 Jetty 运行应用程序,因此此错误告诉您与 tomcat 发生冲突,并且我相信您的 pom 中有 spring-boot-starter-web 依赖项,并且默认情况下嵌入了 tomcat,这会导致与 jetty 发生冲突。只需将其排除,如下所示。这个对我有用

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
Run Code Online (Sandbox Code Playgroud)


Joa*_*elt 2

org.apache.tomcat.websocket.WsWebSocketContainer

如果您正在使用jetty:run,则上述类不允许出现在您的类路径/类加载器中。

找到哪个依赖项引入它并删除/排除它。