2016-08-23 6 views
3

Я использую следующий для моего приложения: -java.lang.NoSuchMethodError: ch.qos.logback.core.rolling.helper.FileNamePattern.getDateTokenConverter()

[INFO] +- ch.qos.logback:logback-core:jar:1.1.7:compile 
[INFO] +- ch.qos.logback:logback-classic:jar:1.1.7:compile 
[INFO] +- log4j:log4j:jar:1.2.13:compile 
[INFO] +- org.slf4j:slf4j-api:jar:1.6.1:compile 
[INFO] +- org.slf4j:jcl-over-slf4j:jar:1.6.1:compile 

Когда я начинаю кот с моим приложение. Я получаю следующее сообщение об ошибке: -

Failed to instantiate [ch.qos.logback.classic.LoggerContext] 
Reported exception: 
java.lang.NoSuchMethodError: ch.qos.logback.core.rolling.helper.FileNamePattern.getDateTokenConverter()Lch/qos/logback/core/rolling/helper/DateTokenConverter; 
    at ch.qos.logback.core.rolling.IntervalledTimeBasedFileNamingAndTriggeringPolicyBase.start(IntervalledTimeBasedFileNamingAndTriggeringPolicyBase.java:24) 
    at ch.qos.logback.core.rolling.SizeAndIntervalledTimeBasedFNATP.start(SizeAndIntervalledTimeBasedFNATP.java:21) 
    at ch.qos.logback.core.rolling.TimeBasedRollingPolicy.start(TimeBasedRollingPolicy.java:95) 
    at ch.qos.logback.core.joran.action.NestedComplexPropertyIA.end(NestedComplexPropertyIA.java:161) 
    at ch.qos.logback.core.joran.spi.Interpreter.callEndAction(Interpreter.java:309) 
    at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:193) 
    at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:179) 
    at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:62) 
    at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:155) 
    at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:142) 
    at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:103) 
    at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:53) 
    at ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:75) 
    at ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializer.java:150) 
    at org.slf4j.impl.StaticLoggerBinder.init(StaticLoggerBinder.java:84) 
    at org.slf4j.impl.StaticLoggerBinder.<clinit>(StaticLoggerBinder.java:55) 
    at org.slf4j.LoggerFactory.bind(LoggerFactory.java:121) 
    at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:111) 
    at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:268) 
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:241) 
    at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:156) 
    at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:132) 
    at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:645) 
    at org.springframework.core.SpringProperties.<clinit>(SpringProperties.java:51) 
    at org.springframework.beans.CachedIntrospectionResults.<clinit>(CachedIntrospectionResults.java:97) 
    at org.springframework.web.util.IntrospectorCleanupListener.contextInitialized(IntrospectorCleanupListener.java:75) 
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4716) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5178) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:724) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:700) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734) 
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:952) 
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1823) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
SLF4J: The requested version 1.7.16 by your slf4j binding is not compatible with [1.6] 

Когда я искать "ch.qos.logback.core.rolling.helper.FileNamePattern.getDateTokenConverter()" в Logback. Я узнал, что этот метод не используется в новой версии журнала.

Какое обходное решение для этого?

ответ

0

Похоже, что tomcat загрузил более одной версии logback. Код, указанный в stacktrace, был удален еще в 2011 году в этом commit. Таким образом, вы должны проверить библиотеки, загруженные tomcat, или понизить версию вашего журнала до 1.0.0.