从1.3.2升级到1.3.3的Spring Boot:登录问题
从spring-boot 1.3.2升级到最新发布的1.3.3时,我们遇到了一个问题。
我们的应用程序一直在使用以下依赖关系,每个依赖关系都是最新的,没有任何问题:
<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>
今天,我通过将pom.xml更改为以下内容,升级了我们的基于spring-boot和基于Spring Data
Neo4j的应用程序,该应用程序可以启动并与spring-boot 1.3.2.RELEASE一起良好地工作:
<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不会引起任何问题。
到目前为止,没有发现可追踪的线索。比较mvn dependency:tree
使用spring-boot
1.3.2.RELEASE和1.3.3.RELEASE之间的输出,我可以看到ch.qos.logback:logback-
classic和ch.qos.logback:logback-access
jars的瞬时相关性已更改从1.1.3(Spring Boot1.3.2RELEASE)到1.1.5(Spring Boot1.3.3.RELEASE),而ch.qos.logback:logback-
core两种Spring Boot版本都保持在1.1.3。
是否有人对根本问题有任何想法(我猜想无法实例化的类已被删除或重定位)和/或(更重要的是)我可以做些什么来解决?
回答:
Spring Boot缺少一些依赖管理,logback-
core该依赖管理允许引入不同的版本。我已经解决了一个问题。
同时,您可以通过将自己的依赖项管理添加到pom来避免该问题:
<dependencyManagement> <dependencies>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>${logback.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
以上是 从1.3.2升级到1.3.3的Spring Boot:登录问题 的全部内容, 来源链接: utcz.com/qa/397433.html