启动嵌入式 Jetty 不起作用,SLF4J 响应错误

Launching embedded Jetty wont work , SLF4J respond with error

我是 运行 我的程序,但我遇到了这个错误:

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/Users/mtaboubi/.m2/repository/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/Users/mtaboubi/.m2/repository/ch/qos/logback/logback-classic/1.0.13/logback-classic-1.0.13.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
Exception in thread "main" java.lang.SecurityException: class "javax.servlet.FilterRegistration"'s signer information does not match signer information of other classes in the same package
    at java.lang.ClassLoader.checkCerts(ClassLoader.java:812)
    at java.lang.ClassLoader.preDefineClass(ClassLoader.java:493)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
    at java.net.URLClassLoader.access[=10=]0(URLClassLoader.java:58)
    at java.net.URLClassLoader.run(URLClassLoader.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at org.eclipse.jetty.servlet.ServletContextHandler.<init>(ServletContextHandler.java:134)
    at org.eclipse.jetty.servlet.ServletContextHandler.<init>(ServletContextHandler.java:114)
    at org.eclipse.jetty.webapp.WebAppContext.<init>(WebAppContext.java:194)
    at ca.actimenu.utils.launcher.Launcher.parseArgs(Launcher.java:108)
    at ca.actimenu.utils.launcher.Launcher.<init>(Launcher.java:42)
    at ca.actimenu.utils.launcher.Launcher.<init>(Launcher.java:53)
    at LaunchWebapp.main(LaunchWebapp.java:12)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)

Process finished with exit code 1

我正在使用和嵌入 Jetty 服务器,我正在使用 IntelliJ idea ...

这是我第一次遇到这个问题,我不知道发生了什么....有什么帮助吗?

您的 pom.xml

有多个 slf4j 实现依赖项

哦,是的,它发生在我添加这些依赖项之后:

>         <!--AspectJ-->
>         <dependency>
>             <groupId>org.aspectj</groupId>
>             <artifactId>aspectjrt</artifactId>
>             <version>1.6.11</version>
>         </dependency>
> 
>         <!--youtube-->
>         <dependency>
>             <groupId>com.google.apis</groupId>
>             <artifactId>google-api-services-youtube</artifactId>
>             <version>v3-rev144-1.20.0</version>
>         </dependency>
> 
>         <dependency>
>             <groupId>com.google.oauth-client</groupId>
>             <artifactId>google-oauth-client-jetty</artifactId>
>             <version>1.11.0-beta</version>
>         </dependency>
> 
>         <!--fin youtube-->
> 
>         <!--JSCH - connection ssh via Java-->
>         <dependency>
>             <groupId>com.jcraft</groupId>
>             <artifactId>jsch</artifactId>
>             <version>0.1.53</version>
>         </dependency> 

>    <dependency>
>        <groupId>com.sun.jersey.contribs</groupId>
>        <artifactId>jersey-multipart</artifactId>
>        <version>1.9.1</version> 
>    </dependency>

当我删除这些依赖项时问题就解决了:)

我将搜索这些依赖项中的哪些使用 SLF4J,然后排除...

谢谢