"提供者不是子类型"在嵌入式Jetty的org.eclipse.jetty.apache.jsp.JuliLog上

时间:2016-03-08 02:38:45

标签: scala maven jetty embedded-jetty

使用嵌入式码头时,通过

启动
mvn jetty:run

抛出以下异常:

Exception in thread "main" java.util.ServiceConfigurationError:
org.apache.juli.logging.Log: Provider org.eclipse.jetty.apache.jsp.JuliLog not a subtype

以下是pom.xml摘要:

<dependencies>
    <dependency>
        <groupId>org.eclipse.jetty.orbit</groupId>
        <artifactId>javax.servlet</artifactId>
        <version>3.0.0.v201112011016</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-maven-plugin</artifactId>
        <version>9.3.7.v20160115</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-websocket</artifactId>
        <version>8.1.19.v20160209</version>
    </dependency>

    <dependency>
        <groupId>org.eclipse.jetty</groupId>
        <artifactId>jetty-webapp</artifactId>
        <version>8.1.19.v20160209</version>
    </dependency>
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.1.6</version>
    </dependency>

任何指向正确配置的嵌入式码头的指针(最好也使用websockets)都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

请勿尝试一次启用所有内容。

Jetty是高度模块化系统,您可以选择要运行的内容。默认情况下,甚至服务器都没有强制要求!

如果您想要带有websockets的嵌入式jetty的示例,请考虑查看Jetty项目在...上的示例项目...

https://github.com/jetty-project/embedded-websocket-echo-examples

一些建议:

  • 逐层构建需求
  • 从基本的websocket端点功能开始(首先让它工作!)
  • 然后添加slf4j + logback。 (确保使用适当的版本,在选择slf4j或logback版本之前,请参阅上一层中的<scope>optional</scope>依赖项)。测试这就像没有明天一样。
  • 然后添加jsp support(因为您的错误似乎表明您希望获得jsp支持)