Liquibase/Springboot启动异常

mih*_*tov 14 java liquibase spring-boot

从昨天(周日)早上开始,我的生产应用程序无法启动,我这边没有任何代码更改。它运行 Springboot 2.3.4、Liquibase-core 3.8.0,并托管在 Amazon linux2 上。有趣的是,本地没有例外,只有部署时才例外。

这是相关的堆栈跟踪:

Caused by: liquibase.exception.UnexpectedLiquibaseException: java.nio.file.NoSuchFileException: /tmp/agent12302722365010540729.jar
 at liquibase.servicelocator.ServiceLocator.setResourceAccessor(ServiceLocator.java:129)
 at liquibase.servicelocator.ServiceLocator.<init>(ServiceLocator.java:69)
 at liquibase.servicelocator.CustomResolverServiceLocator.<init>(CustomResolverServiceLocator.java:16)
 at org.springframework.boot.liquibase.LiquibaseServiceLocatorApplicationListener$LiquibasePresent.replaceServiceLocator(LiquibaseServiceLocatorApplicationListener.java:55)
 at org.springframework.boot.liquibase.LiquibaseServiceLocatorApplicationListener.onApplicationEvent(LiquibaseServiceLocatorApplicationListener.java:44)
 at org.springframework.boot.liquibase.LiquibaseServiceLocatorApplicationListener.onApplicationEvent(LiquibaseServiceLocatorApplicationListener.java:36)
...
Caused by: java.nio.file.NoSuchFileException: /tmp/agent801508645517312012.jar
  at liquibase.resource.ClassLoaderResourceAccessor.getResourcesAsStream(ClassLoaderResourceAccessor.java:53)
  at liquibase.servicelocator.ServiceLocator.setResourceAccessor(ServiceLocator.java:115)
Run Code Online (Sandbox Code Playgroud)

我仔细检查了所有与应用程序相关的文件和环境变量,它们都是相同的。有问题的文件与我的应用程序没有任何关系。

您知道这个文件是什么以及为什么 Liquibase 突然试图找到它吗?

Red*_*eda 6

我有同样的问题。amazon linux 2 启动时会安装一个安全补丁。

导致问题的包是log4j-cve-2021-44228-hotpatch.noarch(您可以在/var/log/yum.log中检查)

临时解决办法是卸载补丁并安装另一个java版本。

yum remove log4j-cve-2021-44228-hotpatch.noarch
yum install java-11-openjdk-11.0.12.0.7-0.amzn2.0.2.x86_64
Run Code Online (Sandbox Code Playgroud)

感谢@mihristov 提供的解决方案。