【问题标题】:Liquibase - FileNotFoundException at ZipFile.javaLiquibase - ZipFile.java 中的 FileNotFoundException
【发布时间】:2022-01-23 16:17:09
【问题描述】:

在 Jenkins 中运行测试时,有时 Liquibase 会失败并显示 FileNotFoundException。在本地运行时不会出现这种情况。

奇怪的是,这个错误并不是每次构建都会发生。

例外

java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:132
    Caused by: liquibase.exception.UnexpectedLiquibaseException at ServiceLocator.java:129
        Caused by: java.io.FileNotFoundException at ZipFile.java:-2

服务定位器

try {
    manifests = resourceAccessor.getResourcesAsStream("META-INF/MANIFEST.MF");
    if (manifests != null) {
        for (InputStream is : manifests) {
            Manifest manifest = new Manifest(is);
            String attributes = StringUtils.trimToNull(manifest.getMainAttributes().getValue("Liquibase-Package"));
            if (attributes != null) {
                for (Object value : attributes.split(",")) {
                    addPackageToScan(value.toString());
                }
            }
            is.close();
        }
    }
} catch (IOException e) {
    throw new UnexpectedLiquibaseException(e);
}

我们正在使用Liquibase 3.8.1

这可能是什么原因造成的?

【问题讨论】:

  • 你在云端运行测试用例吗?
  • @RaushanKumar 是的,我相信。这会如何影响它?
  • @RaushanKumar 这是一个 Amazon EKS 集群。

标签: java liquibase


【解决方案1】:

我认为这个问题是由于 AWS 上的 log4j 安全补丁更新而发生的。 我不确定它对 Liquibase 有何影响。

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

yum 删除 log4j-cve-2021-44228-hotpatch.noarch 百胜安装 java-11-openjdk-11.0.12.0.7-0.amzn2.0.2.x86_64

【讨论】:

    猜你喜欢
    • 2021-11-16
    • 2019-01-18
    • 2011-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-07
    相关资源
    最近更新 更多