首页 > 解决方案 > ch.qos.logback.core.util.IncompatibleClassException 启动 tomcat 9.0.2

问题描述

Tomcat 版本:9.0.2 我们遵循本指南:https ://github.com/tomcat-slf4j-logback/tomcat-slf4j-logback

我们在 webapp 中使用 slf4j,我们按照 github 项目上的指南进行操作,但是当我们启动 tomcat 时,我们得到一个IncompatibleClassException

在apache-tomcat-9.0.2/lib/里面

bash-4.2$ ll /opt/apache-tomcat-9.0.2/lib/
total 9916
-rw-rw-rw- 1 tomcat tomcat   12400 Jun 21 16:35 annotations-api.jar
-rw-rw-rw- 1 tomcat tomcat   54234 Jun 21 16:35 catalina-ant.jar
-rw-rw-rw- 1 tomcat tomcat  119168 Jun 21 16:35 catalina-ha.jar
-rw-rw-rw- 1 tomcat tomcat 1610515 Jun 21 16:35 catalina.jar
-rw-rw-rw- 1 tomcat tomcat   74886 Jun 21 16:35 catalina-storeconfig.jar
-rw-rw-rw- 1 tomcat tomcat  287047 Jun 21 16:35 catalina-tribes.jar
-rw-r--r-- 1 tomcat tomcat   61829 Aug  6 13:48 commons-logging-1.2.jar
-rw-rw-rw- 1 tomcat tomcat 2450404 Jun 21 16:35 ecj-4.6.3.jar
-rwxr-xr-x 1 tomcat tomcat 1347501 Aug  1 11:34 ehcache-core-2.6.11.jar
-rw-rw-rw- 1 tomcat tomcat   81580 Jun 21 16:35 el-api.jar
-rw-rw-rw- 1 tomcat tomcat  163672 Jun 21 16:35 jasper-el.jar
-rw-rw-rw- 1 tomcat tomcat  547145 Jun 21 16:35 jasper.jar
-rw-rw-rw- 1 tomcat tomcat   26870 Jun 21 16:35 jaspic-api.jar
-rw-rw-rw- 1 tomcat tomcat   61763 Jun 21 16:35 jsp-api.jar
-rw-r--r-- 1 tomcat tomcat  107064 Aug  2 14:44 logback-access-1.2.3.jar
-rw-r--r-- 1 tomcat tomcat  290339 Aug  9 10:26 logback-classic-1.2.3.jar
-rw-r--r-- 1 tomcat tomcat  471901 Aug  9 09:39 logback-core-1.2.3.jar
-rw-rw-rw- 1 tomcat tomcat  277812 Jun 21 16:35 servlet-api.jar
-rw-r--r-- 1 tomcat tomcat   41203 Aug  2 09:22 slf4j-api-1.7.25.jar
-rw-rw-rw- 1 tomcat tomcat   10700 Jun 21 16:35 tomcat-api.jar
-rw-rw-rw- 1 tomcat tomcat  802899 Jun 21 16:35 tomcat-coyote.jar
-rw-rw-rw- 1 tomcat tomcat  251938 Jun 21 16:35 tomcat-dbcp.jar
-rw-rw-rw- 1 tomcat tomcat   65453 Jun 21 16:35 tomcat-i18n-es.jar
-rw-rw-rw- 1 tomcat tomcat   39392 Jun 21 16:35 tomcat-i18n-fr.jar
-rw-rw-rw- 1 tomcat tomcat   42275 Jun 21 16:35 tomcat-i18n-ja.jar
-rw-rw-rw- 1 tomcat tomcat  145142 Jun 21 16:35 tomcat-jdbc.jar
-rw-rw-rw- 1 tomcat tomcat   34541 Jun 21 16:35 tomcat-jni.jar
-rw-rw-rw- 1 tomcat tomcat  136862 Jun 21 16:35 tomcat-util.jar
-rw-rw-rw- 1 tomcat tomcat  205736 Jun 21 16:35 tomcat-util-scan.jar
-rw-rw-rw- 1 tomcat tomcat  224847 Jun 21 16:35 tomcat-websocket.jar
-rw-rw-rw- 1 tomcat tomcat   36829 Jun 21 16:35 websocket-api.jar

的输出 mvn dependency:tree

[INFO] 
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ orts-parent ---
[INFO] com.cliqdigital.orts:orts-parent:pom:3.6.0-SNAPSHOT
[INFO] 
[INFO] -----------------< com.cliqdigital.orts:ORTS-XMLBeans >-----------------
[INFO] Building ORTS-XMLBeans 3.6.0-SNAPSHOT                              [2/3]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ ORTS-XMLBeans ---
[INFO] com.cliqdigital.orts:ORTS-XMLBeans:jar:3.6.0-SNAPSHOT
[INFO] +- com.fasterxml.jackson.core:jackson-databind:jar:2.9.3:compile
[INFO] |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.9.0:compile
[INFO] |  \- com.fasterxml.jackson.core:jackson-core:jar:2.9.3:compile
[INFO] +- javax.validation:validation-api:jar:2.0.1.Final:compile
[INFO] +- org.apache.commons:commons-lang3:jar:3.7:compile
[INFO] \- org.jvnet.jaxb2_commons:jaxb2-basics-runtime:jar:1.11.1:compile
[INFO] 
[INFO] -------------------< com.cliqdigital.orts:ORTS-web >--------------------
[INFO] Building ORTS web application 3.6.0-SNAPSHOT                       [3/3]
[INFO] --------------------------------[ war ]---------------------------------
[INFO] 
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ ORTS-web ---
[INFO] com.cliqdigital.orts:ORTS-web:war:3.6.0-SNAPSHOT
[INFO] +- com.cliqdigital.orts:ORTS-XMLBeans:jar:3.6.0-SNAPSHOT:compile
[INFO] |  +- javax.validation:validation-api:jar:2.0.1.Final:compile
[INFO] |  \- org.jvnet.jaxb2_commons:jaxb2-basics-runtime:jar:1.11.1:compile
[INFO] +- javax.enterprise:cdi-api:jar:2.0:provided
[INFO] |  +- javax.el:javax.el-api:jar:3.0.0:provided
[INFO] |  +- javax.interceptor:javax.interceptor-api:jar:1.2:provided
[INFO] |  \- javax.inject:javax.inject:jar:1:provided
[INFO] +- javax.annotation:jsr250-api:jar:1.0:provided
[INFO] +- org.apache.commons:commons-lang3:jar:3.7:compile
[INFO] +- org.javassist:javassist:jar:3.22.0-GA:compile
[INFO] +- dom4j:dom4j:jar:1.6.1:compile
[INFO] |  \- xml-apis:xml-apis:jar:1.0.b2:compile
[INFO] +- com.fasterxml.jackson.core:jackson-databind:jar:2.9.3:compile
[INFO] |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.9.0:compile
[INFO] |  \- com.fasterxml.jackson.core:jackson-core:jar:2.9.3:compile
[INFO] +- commons-io:commons-io:jar:2.6:compile
[INFO] +- commons-codec:commons-codec:jar:1.11:compile
[INFO] +- commons-validator:commons-validator:jar:1.6:compile
[INFO] |  +- commons-beanutils:commons-beanutils:jar:1.9.2:compile
[INFO] |  +- commons-digester:commons-digester:jar:1.8.1:compile
[INFO] |  \- commons-collections:commons-collections:jar:3.2.2:compile
[INFO] +- org.apache.httpcomponents:httpclient:jar:4.5.4:compile
[INFO] |  \- org.apache.httpcomponents:httpcore:jar:4.4.7:compile
[INFO] +- org.quartz-scheduler:quartz:jar:2.3.0:compile
[INFO] |  +- com.mchange:c3p0:jar:0.9.5.2:compile
[INFO] |  +- com.mchange:mchange-commons-java:jar:0.2.11:compile
[INFO] |  \- com.zaxxer:HikariCP-java6:jar:2.3.13:compile
[INFO] +- log4j:log4j:jar:1.2.17:provided
[INFO] +- junit:junit:jar:4.12:test
[INFO] |  \- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] +- org.easymock:easymock:jar:3.5.1:test
[INFO] |  \- org.objenesis:objenesis:jar:2.6:test
[INFO] +- org.easymock:easymockclassextension:jar:3.2:test
[INFO] +- cglib:cglib-nodep:jar:3.2.5:test
[INFO] +- org.springframework:spring-test:jar:4.3.13.RELEASE:test
[INFO] +- org.springframework:spring-beans:jar:4.3.13.RELEASE:compile
[INFO] +- org.springframework:spring-context:jar:4.3.13.RELEASE:compile
[INFO] +- org.springframework:spring-context-support:jar:4.3.13.RELEASE:compile
[INFO] +- org.springframework:spring-core:jar:4.3.13.RELEASE:compile
[INFO] +- org.springframework:spring-expression:jar:4.3.13.RELEASE:compile
[INFO] +- org.springframework:spring-web:jar:4.3.13.RELEASE:compile
[INFO] +- org.springframework:spring-webmvc:jar:4.3.13.RELEASE:compile
[INFO] +- org.springframework:spring-orm:jar:4.3.13.RELEASE:compile
[INFO] +- org.springframework:spring-oxm:jar:4.3.13.RELEASE:compile
[INFO] +- org.springframework:spring-tx:jar:4.3.13.RELEASE:compile
[INFO] +- org.springframework:spring-jdbc:jar:4.3.13.RELEASE:compile
[INFO] +- org.springframework:spring-aop:jar:4.3.13.RELEASE:compile
[INFO] +- org.springframework:spring-aspects:jar:4.3.13.RELEASE:compile
[INFO] +- org.springframework.ws:spring-ws-core:jar:3.0.0.RELEASE:compile
[INFO] |  \- org.springframework.ws:spring-xml:jar:3.0.0.RELEASE:compile
[INFO] +- org.springframework.integration:spring-integration-core:jar:4.3.13.RELEASE:compile
[INFO] |  +- org.springframework:spring-messaging:jar:4.3.13.RELEASE:compile
[INFO] |  \- org.springframework.retry:spring-retry:jar:1.1.3.RELEASE:compile
[INFO] +- org.springframework.integration:spring-integration-http:jar:4.3.13.RELEASE:compile
[INFO] +- org.springframework.integration:spring-integration-xml:jar:4.3.13.RELEASE:compile
[INFO] +- org.springframework.integration:spring-integration-ws:jar:4.3.13.RELEASE:compile
[INFO] +- org.springframework.integration:spring-integration-jmx:jar:4.3.13.RELEASE:compile
[INFO] +- org.springframework.integration:spring-integration-jms:jar:4.3.13.RELEASE:compile
[INFO] |  \- org.springframework:spring-jms:jar:4.3.13.RELEASE:compile
[INFO] +- org.springframework.integration:spring-integration-amqp:jar:4.3.13.RELEASE:compile
[INFO] |  \- org.springframework.amqp:spring-rabbit:jar:1.6.11.RELEASE:compile
[INFO] |     +- com.rabbitmq:http-client:jar:1.0.0.RELEASE:compile
[INFO] |     +- org.springframework.amqp:spring-amqp:jar:1.6.11.RELEASE:compile
[INFO] |     \- com.rabbitmq:amqp-client:jar:3.6.5:compile
[INFO] +- org.springframework.security:spring-security-config:jar:4.2.3.RELEASE:compile
[INFO] |  \- aopalliance:aopalliance:jar:1.0:compile
[INFO] +- org.springframework.security:spring-security-web:jar:4.2.3.RELEASE:compile
[INFO] +- org.springframework.security:spring-security-core:jar:4.2.3.RELEASE:compile
[INFO] +- org.springframework.integration:spring-integration-file:jar:4.3.13.RELEASE:compile
[INFO] +- org.springframework.integration:spring-integration-jpa:jar:4.3.13.RELEASE:compile
[INFO] +- org.codehaus.fabric3.api:commonj:jar:1.1.1:compile
[INFO] +- commons-jxpath:commons-jxpath:jar:1.3:compile
[INFO] +- com.googlecode.json-simple:json-simple:jar:1.1:compile
[INFO] +- joda-time:joda-time:jar:2.2:compile
[INFO] +- org.powermock:powermock-module-junit4:jar:1.7.3:test
[INFO] |  \- org.powermock:powermock-module-junit4-common:jar:1.7.3:test
[INFO] |     +- org.powermock:powermock-reflect:jar:1.7.3:test
[INFO] |     \- org.powermock:powermock-core:jar:1.7.3:test
[INFO] +- org.powermock:powermock-api-easymock:jar:1.7.3:test
[INFO] |  \- org.powermock:powermock-api-support:jar:1.7.3:test
[INFO] +- mysql:mysql-connector-java:jar:5.1.45:compile
[INFO] +- javax.servlet:javax.servlet-api:jar:4.0.0:provided
[INFO] +- net.sf.ehcache:ehcache-core:jar:2.6.11:provided
[INFO] +- org.apache.xbean:xbean-spring:jar:4.6:compile
[INFO] +- org.slf4j:slf4j-api:jar:1.7.25:provided
[INFO] +- org.slf4j:slf4j-log4j12:jar:1.7.25:provided
[INFO] +- ch.qos.logback:logback-classic:jar:1.2.3:provided
[INFO] +- ch.qos.logback:logback-core:jar:1.2.3:provided
[INFO] +- ch.qos.logback:logback-access:jar:1.2.3:provided
[INFO] +- org.hibernate.common:hibernate-commons-annotations:jar:5.0.1.Final:compile
[INFO] |  \- org.jboss.logging:jboss-logging:jar:3.3.0.Final:compile
[INFO] +- org.hibernate:hibernate-core:jar:5.2.12.Final:compile
[INFO] |  +- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Final:compile
[INFO] |  +- antlr:antlr:jar:2.7.7:compile
[INFO] |  +- org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:jar:1.0.1.Final:compile
[INFO] |  +- org.jboss:jandex:jar:2.0.3.Final:compile
[INFO] |  \- com.fasterxml:classmate:jar:1.3.0:compile
[INFO] +- org.mockito:mockito-all:jar:2.0.2-beta:test
[INFO] +- org.powermock:powermock-api-mockito:jar:1.7.3:test
[INFO] |  \- org.powermock:powermock-api-mockito-common:jar:1.7.3:test
[INFO] +- trove:trove:jar:2.1.1:test
[INFO] +- cglib:cglib:jar:3.2.5:test
[INFO] |  +- org.ow2.asm:asm:jar:5.2:test
[INFO] |  \- org.apache.ant:ant:jar:1.9.6:test
[INFO] |     \- org.apache.ant:ant-launcher:jar:1.9.6:test
[INFO] +- org.hsqldb:hsqldb:jar:2.3.1:test
[INFO] +- xmlunit:xmlunit:jar:1.3:test
[INFO] +- org.jvnet.jaxb2_commons:jaxb2-basics:jar:0.6.5:compile
[INFO] |  +- org.jvnet.jaxb2_commons:jaxb2-basics-tools:jar:0.6.5:compile
[INFO] |  |  \- commons-lang:commons-lang:jar:2.2:compile
[INFO] |  \- com.google.code.javaparser:javaparser:jar:1.0.8:compile
[INFO] +- javax.xml.ws:jaxws-api:jar:2.3.0:compile
[INFO] |  +- javax.xml.bind:jaxb-api:jar:2.3.0:compile
[INFO] |  \- javax.xml.soap:javax.xml.soap-api:jar:1.4.0:compile
[INFO] +- com.sun.xml.ws:jaxws-rt:jar:2.3.0:compile
[INFO] |  +- javax.annotation:javax.annotation-api:jar:1.3:compile
[INFO] |  +- javax.jws:jsr181-api:jar:1.0-MR1:compile
[INFO] |  +- com.sun.xml.bind:jaxb-core:jar:2.3.0:compile
[INFO] |  +- com.sun.xml.bind:jaxb-impl:jar:2.3.0:compile
[INFO] |  +- com.sun.xml.ws:policy:jar:2.7.2:compile
[INFO] |  +- org.glassfish.gmbal:gmbal-api-only:jar:3.1.0-b001:compile
[INFO] |  |  \- org.glassfish.external:management-api:jar:3.0.0-b012:compile
[INFO] |  +- org.jvnet.staxex:stax-ex:jar:1.7.8:compile
[INFO] |  +- com.sun.xml.stream.buffer:streambuffer:jar:1.5.4:compile
[INFO] |  +- org.jvnet.mimepull:mimepull:jar:1.9.7:compile
[INFO] |  +- com.sun.xml.fastinfoset:FastInfoset:jar:1.2.13:compile
[INFO] |  +- org.glassfish.ha:ha-api:jar:3.1.9:compile
[INFO] |  +- org.codehaus.woodstox:woodstox-core-asl:jar:4.4.1:runtime
[INFO] |  +- org.codehaus.woodstox:stax2-api:jar:3.1.4:runtime
[INFO] |  \- com.sun.org.apache.xml.internal:resolver:jar:20050927:compile
[INFO] +- com.sun.xml.ws:jaxws-tools:jar:2.3.0:compile
[INFO] |  +- com.sun.xml.bind:jaxb-xjc:jar:2.3.0:compile
[INFO] |  \- com.sun.xml.bind:jaxb-jxc:jar:2.3.0:compile
[INFO] +- com.sun.xml.parsers:jaxp-ri:jar:1.4.5:compile
[INFO] |  \- javax.xml.parsers:jaxp-api:jar:1.4.5:compile
[INFO] +- com.sun.xml.messaging.saaj:saaj-impl:jar:1.4.0:provided
[INFO] +- org.apache.xmlrpc:xmlrpc-client:jar:3.1.3:compile
[INFO] |  \- org.apache.xmlrpc:xmlrpc-common:jar:3.1.3:compile
[INFO] |     \- org.apache.ws.commons.util:ws-commons-util:jar:1.0.2:compile
[INFO] +- commons-net:commons-net:jar:3.6:compile
[INFO] +- com.sun.istack:istack-commons-runtime:jar:3.0.5:test
[INFO] +- commons-logging:commons-logging:jar:1.2:compile
[INFO] +- org.mortbay.jetty:jetty:jar:6.1.5:test
[INFO] |  +- org.mortbay.jetty:jetty-util:jar:6.1.5:test
[INFO] |  \- org.mortbay.jetty:servlet-api-2.5:jar:6.1.5:test
[INFO] +- com.sun.jersey:jersey-client:jar:1.16:compile
[INFO] |  \- com.sun.jersey:jersey-core:jar:1.16:compile
[INFO] +- org.aspectj:aspectjweaver:jar:1.8.13:compile
[INFO] +- org.aspectj:aspectjrt:jar:1.8.13:compile
[INFO] +- org.projectlombok:lombok:jar:1.16.6:compile
[INFO] +- org.antlr:antlr4-runtime:jar:4.5.3:compile
[INFO] +- org.assertj:assertj-core:jar:3.9.1:test
[INFO] \- org.mockito:mockito-core:jar:2.18.0:test
[INFO]    +- net.bytebuddy:byte-buddy:jar:1.8.3:test
[INFO]    \- net.bytebuddy:byte-buddy-agent:jar:1.8.3:test
[INFO] -------------------------------------------------------------------

我使用了gitHub repo 中提供的 logback.xml

setenv.sh:JAVA_OPTS="$JAVA_OPTS -Djuli-logback.configurationFile=$CATALINA_HOME/conf/logback.xml"

$CATALINA_HOME/conf/logging.properties 已被删除

这是我们得到的异常:

10:42:07.734 INFO  {main} [o.a.c.h.Http11NioProtocol] : Initializing ProtocolHandler ["http-nio-8080"]
10:42:07.743 INFO  {main} [o.a.t.u.n.NioSelectorPool] : Using a shared selector for servlet write/read
10:42:07.748 INFO  {main} [o.a.c.a.AjpNioProtocol] : Initializing ProtocolHandler ["ajp-nio-8009"]
10:42:07.749 INFO  {main} [o.a.t.u.n.NioSelectorPool] : Using a shared selector for servlet write/read
10:42:10.090 INFO  {main} [o.a.j.s.TldScanner] : At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
10:42:10,111 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
10:42:10,111 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
10:42:10,111 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [file:/opt/apache-tomcat-9.0.2/conf/logback.xml]
10:42:10,117 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
10:42:10,117 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [org.apache.juli.logging.ch.qos.logback.core.ConsoleAppender]
10:42:10,118 |-ERROR in ch.qos.logback.core.joran.action.AppenderAction - Could not create an Appender of type [org.apache.juli.logging.ch.qos.logback.core.ConsoleAppender]. ch.qos.logback.core.util.IncompatibleClassException
    at ch.qos.logback.core.util.IncompatibleClassException
    at  at ch.qos.logback.core.util.OptionHelper.instantiateByClassNameAndParameter(OptionHelper.java:58)
    at  at ch.qos.logback.core.util.OptionHelper.instantiateByClassName(OptionHelper.java:45)
    at  at ch.qos.logback.core.util.OptionHelper.instantiateByClassName(OptionHelper.java:34)
    at  at ch.qos.logback.core.joran.action.AppenderAction.begin(AppenderAction.java:52)
    at  at ch.qos.logback.core.joran.spi.Interpreter.callBeginAction(Interpreter.java:269)
    at  at ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:145)
    at  at ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:128)
    at  at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:50)
    at  at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:165)
    at  at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:152)
    at  at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:110)
    at  at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:53)
    at  at ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:75)
    at  at ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializer.java:150)
    at  at org.slf4j.impl.StaticLoggerBinder.init(StaticLoggerBinder.java:84)
    at  at org.slf4j.impl.StaticLoggerBinder.<clinit>(StaticLoggerBinder.java:55)
    at  at org.slf4j.LoggerFactory.bind(LoggerFactory.java:150)
    at  at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:124)
    at  at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:412)
    at  at ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory.addStatus(StatusViaSLF4JLoggerFactory.java:32)
    at  at ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory.addInfo(StatusViaSLF4JLoggerFactory.java:20)
    at  at ch.qos.logback.classic.servlet.LogbackServletContainerInitializer.onStartup(LogbackServletContainerInitializer.java:32)
    at  at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5094)
    at  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at  at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:740)
    at  at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:716)
    at  at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:703)
    at  at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:619)
    at  at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1829)
    at  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at  at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
    at  at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
    at  at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:530)
    at  at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:429)
    at  at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1575)
    at  at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:308)
    at  at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
    at  at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:424)
    at  at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:367)
    at  at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:964)
    at  at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:839)
    at  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at  at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1425)
    at  at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1415)
    at  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at  at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
    at  at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
    at  at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:941)
    at  at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:258)
    at  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at  at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
    at  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at  at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:770)
    at  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at  at org.apache.catalina.startup.Catalina.start(Catalina.java:671)
    at  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at  at java.lang.reflect.Method.invoke(Method.java:497)
    at  at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:353)
    at  at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:493)
10:42:10,118 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@19:98 - ActionException in Action for tag [appender] ch.qos.logback.core.joran.spi.ActionException: ch.qos.logback.core.util.IncompatibleClassException
    at ch.qos.logback.core.joran.spi.ActionException: ch.qos.logback.core.util.IncompatibleClassException
    at  at ch.qos.logback.core.joran.action.AppenderAction.begin(AppenderAction.java:76)
    at  at ch.qos.logback.core.joran.spi.Interpreter.callBeginAction(Interpreter.java:269)
    at  at ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:145)
    at  at ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:128)
    at  at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:50)
    at  at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:165)
    at  at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:152)
    at  at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:110)
    at  at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:53)
    at  at ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:75)
    at  at ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializer.java:150)
    at  at org.slf4j.impl.StaticLoggerBinder.init(StaticLoggerBinder.java:84)
    at  at org.slf4j.impl.StaticLoggerBinder.<clinit>(StaticLoggerBinder.java:55)
    at  at org.slf4j.LoggerFactory.bind(LoggerFactory.java:150)
    at  at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:124)
    at  at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:412)
    at  at ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory.addStatus(StatusViaSLF4JLoggerFactory.java:32)
    at  at ch.qos.logback.classic.util.StatusViaSLF4JLoggerFactory.addInfo(StatusViaSLF4JLoggerFactory.java:20)
    at  at ch.qos.logback.classic.servlet.LogbackServletContainerInitializer.onStartup(LogbackServletContainerInitializer.java:32)
    at  at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5094)
    at  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at  at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:740)
    at  at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:716)
    at  at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:703)
    at  at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:619)
    at  at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1829)
    at  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at  at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
    at  at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
    at  at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:530)
    at  at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:429)
    at  at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1575)
    at  at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:308)
    at  at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
    at  at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:424)
    at  at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:367)
    at  at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:964)
    at  at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:839)
    at  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at  at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1425)
    at  at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1415)
    at  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at  at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
    at  at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
    at  at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:941)
    at  at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:258)
    at  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at  at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
    at  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at  at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:770)
    at  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at  at org.apache.catalina.startup.Catalina.start(Catalina.java:671)
    at  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at  at java.lang.reflect.Method.invoke(Method.java:497)
    at  at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:353)
    at  at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:493)
Caused by: ch.qos.logback.core.util.IncompatibleClassException
    at  at ch.qos.logback.core.util.OptionHelper.instantiateByClassNameAndParameter(OptionHelper.java:58)
    at  at ch.qos.logback.core.util.OptionHelper.instantiateByClassName(OptionHelper.java:45)
    at  at ch.qos.logback.core.util.OptionHelper.instantiateByClassName(OptionHelper.java:34)
    at  at ch.qos.logback.core.joran.action.AppenderAction.begin(AppenderAction.java:52)
    at  ... 58 common frames omitted

我们怀疑发生冲突的库是logback-core-1.2.3.jartomcat-juli.jar包含AppenderAction.class

标签: javaspringtomcatlogbackslf4j

解决方案


推荐阅读