spring-boot 从 1.3.2 升级到 1.3.3:logback 问题

2024-02-24

从 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>

今天,我升级了基于 spring-boot 和 Spring Data Neo4j 的应用程序,该应用程序通过将 pom.xml 更改为:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.3.2.RELEASE</version>
</parent>

to

<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 jar 的瞬态依赖项已从 1.1 更改spring-boot 1.3.2.RELEASE 的 .3 到 spring-boot 1.3.3.RELEASE 的 1.1.5,而 ch.qos.logback:logback-core 对于两种 spring-boot 风格都保持为 1.1.3。

有谁知道根本问题是什么(我猜测未能实例化的类已被删除或重新定位)和/或更重要的是我可以采取什么措施来解决它?


Spring Boot 缺少一些依赖管理logback-core这允许不同的版本渗透进来。我已经打开了an issue https://github.com/spring-projects/spring-boot/issues/5304解决这个问题。

同时,您可以通过将您自己的依赖管理添加到您的 pom 来避免该问题:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
            <version>${logback.version}</version>
        </dependency>
    </dependencies>
</dependencyManagement>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

spring-boot 从 1.3.2 升级到 1.3.3:logback 问题 的相关文章

随机推荐

  • Nodejs:迭代 req.files 属性

    我对 Nodejs 很陌生 有时会遇到困难 例如 我正在通过 AJAX 发送图像文件并在我的应用程序中成功接收它 console log req files 打印 img 1351078491675 size 354683 path tmp
  • Amazon AWS S3 目录结构效率

    我脑子里闪过一个简单的效率问题 我创建了一个 PHP 代码 用于将文件夹中的所有文件上传到 Amazon S3 上的存储桶 我的代码也能够以子文件的形式上传文件 而不会丢失其结构 基本上 用户必须登录我的网站 然后根据用户的帐户名 他们可以
  • 从 php 运行蹩脚

    我正在尝试从 php 脚本运行蹩脚 我已经尝试过这些 但没有运气 我没有得到任何回报 有任何想法吗 system lame returnarr system lame help returnarr exec lame returnarr p
  • 如何使用索引访问ListView中的委托属性

    我想访问委托属性ListView 我尝试过contentItem但有时是undefined 这是我的代码 ListModel id modeldata ListElement name don rank 1 ListElement name
  • 如何从领域数据库中查询具有不同结果的java

    我有一个Realm对象类 并在其中存储大量数据 想象我有一个String uid 场地 我想获取 uid 名称 但相同的 uid 名称只能获取一次 例如 uid AA AA BB CC DD BB BB 我想得到只是 AA BB CC DD
  • 具有两个或多个参数的 ITransformableFilterValues 接口 [SharePoint WebParts]

    我使用 Sharepoint 并尝试使用多个参数连接 Web 部件 我的问题是如何将多个参数从自定义 Web 部件传递到另一个参数 我可以通过在自定义 webpart 中实现 ITransformableFilterValues 接口来传递
  • eclipse 在无限循环中开始“构建工作区”

    是否可以在 Eclipse 中调试哪个进程触发了 构建工作区 我有一个带有一些 BIRT 报告的 Java 项目 当该项目打开时 Eclipse 将无限循环地重新启动 构建工作区 我正在使用 Eclipse 3 6 1 和 BIRT 2 6
  • 理解“随机性”

    我无法理解这个问题 哪个更随机 rand OR rand rand 我发现这是一个真正的脑筋急转弯 你能帮我吗 EDIT 直觉上我知道数学答案是它们同样随机 但我忍不住认为 如果你在将两者相乘时 运行随机数算法 两次 你会创建比仅仅做更随机
  • 为什么 String.match( / \d*/ ) 返回空字符串?

    有人可以帮助我理解为什么使用 d 返回包含空字符串的数组 而使用 d 返回 100 如预期 我明白为什么 d 有效 但不明白为什么 d 不起作用 使用 是否会导致它返回零长度匹配 这到底是如何工作的 var str one to 100 v
  • 实体框架:跳过/接受功能

    我只是好奇 Skip 和 Take 函数如何在 Entity Framework 中工作 使用 EF 6 1 If I do db Events OrderByDescending x gt x Date Take maxPageSize
  • Zend Framework 不允许我包含 Google Maps API

    我遇到这个问题 我想使用引导程序中的 HeadScript Helper 将 Google Maps API 添加到我的 Zend Framework 应用程序中 view gt headScript gt appendFile stati
  • 使用 Masm 的浮点数据示例

    有人能给我一个如何在 MASM 数据部分定义浮点数或常量的例子吗 或者至少有一些关于它的信息 我认为已经完成了 data myVar REAL4 1 0f code Masm 中的浮点值为 REAL4 REAL8 或 REAL10 表达式
  • 全局 PHP CONSTANT 在类文件中可用吗?

    全局 PHP CONSTANT 在类文件中可用吗 define SITE PATH C webserver htdocs somefolder 然后在我的班级文件中我尝试这个 public debug file SITE PATH debu
  • Aurelia 委托与触发器:您如何知道何时使用委托或触发器?

    我正在尝试学习如何使用 Aurelia 框架 这样做时 我正在阅读文档here https github com aurelia documentation blob master old English docs md event mod
  • GNU GCC 编译器更新

    我正在使用 gnu gcc 编译器的代码块 但是当我尝试编译开始的范围基础时 它给出了许多错误 所以我认为编译器不支持C 0x 所以我想知道如何知道我正在使用的编译器版本以及如何将其正确更新到 C 0x 支持版本 我使用的是Windows
  • 编译 opencv 框架时出现未知错误:未定义符号:“_CGImageDestinationCreateWithURL”

    Xcode 给了我以下错误 我真的不知道该怎么做 这让我发疯 我正在导入 OpenCV 框架 因此问题可能存在或与编译器相关 谁能告诉我该怎么做或寻找什么 Undefined symbols CGImageDestinationCreate
  • Access 2010 的 INSERT INTO 语句中的语法错误

    我的 INSERT 语句显然有语法错误 有人可以解释一下为什么会这样吗 Private Sub Register Click 1 ByVal sender As System Object ByVal e As System EventAr
  • [空手道][独立]错误:无法找到或读取文件

    我只使用最新的独立空手道 jar 在配置了 JRE 的 docker 容器上测试我的 API 并且没有任何 Java 代码 目前 在我的一项功能中 我有这个 read file json 当资源文件与功能文件位于同一目录时 它可以正常工作
  • C# winforms numericupdown 控件

    我正在使用 numericupdown 控件 当以编程方式分配值或用户更改值时 将触发 ValueChanged 事件 我希望仅当用户更改值时触发事件 而不是在我设置最小值和最大值时触发 如何做呢 基于 TheVillageIdiot 的答
  • spring-boot 从 1.3.2 升级到 1.3.3:logback 问题

    从 spring boot 1 3 2 升级到最近发布的 1 3 3 时 我们遇到了一个问题 我们的应用程序一直在使用以下依赖项 每个都是最新的 没有问题