从spring-boot 1.3.2升级到最近发布的1.3.3时,我们遇到了问题。弹簧引导从1.3.2升级到1.3.3:logback问题
我们的应用程序已经利用下面的依赖关系,每一个最新的,没有问题:
<neo4j.version>2.3.2</neo4j.version>
<sdn.version>4.0.0.RELEASE</sdn.version>
<sdn.rest.version>3.4.0.RELEASE</sdn.rest.version>
<neo4j.ogm.version>1.1.5</neo4j.ogm.version>
今天我升级了弹簧引导和Spring数据Neo4j的基于应用程序,这将启动与运行良好春季启动1.3.2.RELEASE,从改变的pom.xml:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.2.RELEASE</version>
</parent>
到
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.3.RELEASE</version>
</parent>
有了这个字面上是唯一的变化,现在的应用程序无法启动,并出现以下错误:
...
Failed to instantiate [ch.qos.logback.classic.LoggerContext]
Reported exception:
java.lang.AbstractMethodError: ch.qos.logback.classic.pattern.EnsureExceptionHandling.process(Lch/qos/logback/core/pattern/Converter;)V
at ch.qos.logback.core.pattern.PatternLayoutBase.start(PatternLayoutBase.java:88)
at ch.qos.logback.classic.encoder.PatternLayoutEncoder.start(PatternLayoutEncoder.java:28)
at ch.qos.logback.core.joran.action.NestedComplexPropertyIA.end(NestedComplexPropertyIA.java:167)
at ch.qos.logback.core.joran.spi.Interpreter.callEndAction(Interpreter.java:317)
at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:196)
at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:182)
at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:62)
at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:149)
at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:135)
at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:99)
at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:49)
at ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:77)
at ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializer.java:152)
at org.slf4j.impl.StaticLoggerBinder.init(StaticLoggerBinder.java:85)
at org.slf4j.impl.StaticLoggerBinder.<clinit>(StaticLoggerBinder.java:55)
at org.slf4j.LoggerFactory.bind(LoggerFactory.java:143)
at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:122)
at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:378)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:328)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:349)
at com.mycompany.Application.<clinit>(Application.java:35)
正如预期的那样,回到1.3.2.RELEASE不会引起任何问题。
到目前为止搜索没有迹可循。在使用spring-boot 1.3.2.RELEASE和1.3.3.RELEASE之间比较mvn dependency:tree
输出,我可以看到ch.qos.logback:logback-classic和ch.qos.logback:logback-access jar的临时依赖关系具有从spring-boot 1.3.2.RELEASE的1.1.3更改为spring-boot 1.3.3.RELEASE的1.1.5,而ch.qos.logback:logback-core对于两种spring-boot版本都保持在1.1.3。
有没有人知道底层问题是什么(我猜这个类未能实例化已被删除或重定位)和/或 - 更重要的是 - 我能做些什么来解决它?
请加'MVN依赖性输出:tree'。你可能有另一个依赖,它迫使它回到1.1.3,而不是使用Spring Boot 1.1.5。 –