gpt4 book ai didi

java - Spring Boot Maven 插件缺少堆栈跟踪

转载 作者:太空宇宙 更新时间:2023-11-04 10:35:07 25 4
gpt4 key购买 nike

我最近将代码库从 Spring Boot 1.2.7 更新到了 v2.0.0。在大多数情况下,这是成功的,但我注意到功能上出现了不希望的变化,其中当启动期间发生故障时,堆栈跟踪会丢失。我不确定我是否遗漏了某些内容(这是故意的),或者这两个版本之间是否引入了错误。

该项目使用 Spring Boot Maven 插件。当包含 JVM 参数时,如果应用程序无法启动(可能是由于 Spring 连接不正确、端口已在使用等),则不会记录堆栈跟踪来解释应用程序无法启动的原因。如果省略 JVM 参数,堆栈跟踪将包含在日志中。升级之前,使用 JVM 参数时会包含堆栈跟踪。

由于插件在包含 JVM 参数时 fork JVM,并且应用程序不会以其他方式 fork JVM,我想知道它是否与此有关。

最佳答案

为了帮助解决这个问题,我开始整合 POM 的精简版本以及“主”类。虽然该项目使用 Logback 进行日志记录,但在创建简化版本的过程中,我发现 Log4J 是通过其他几个库传递包含的。当我从类路径中删除 Log4J 依赖项时,启动期间的日志记录按预期工作。

在项目中包含 Log4J 早于 Spring Boot 版本的升级。所以,这里肯定有一个缺失的部分,因为我不知道是什么改变导致了破损。然而,前进的道路似乎很明确,因为 Log4J 不应包含在该项目中。我很乐意接受任何其他答案,并提供有关可能发生变化导致不同行为的更多信息,但如果没有,我将认为此问题已解决。

关于java - Spring Boot Maven 插件缺少堆栈跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49576206/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com