Java 8 到 11 错误 - NoClassDefFoundError:无法初始化类 sun.security.pkcs.SignerInfo

问题描述 投票:0回答:1

我正在将 Java 代码存储库从 Java 8 迁移到 Java 11,但我的应用程序由于以下错误而不断失败。

我尝试在线搜索解决方案,但遗憾的是没有找到任何帮助资源。

有人遇到过同样的情况吗,如果有的话,请指点我正确的方向吗?

错误:

ERROR o.s.boot.SpringApplication               Application run failed java.lang.NoClassDefFoundError: Could not initialize class sun.security.pkcs.SignerInfo
                at java.base/sun.security.pkcs.PKCS7.parseSignedData(PKCS7.java:365)
                at java.base/sun.security.pkcs.PKCS7.parse(PKCS7.java:160)
                at java.base/sun.security.pkcs.PKCS7.parse(PKCS7.java:128)
                at java.base/sun.security.pkcs.PKCS7.<init>(PKCS7.java:110)
                at java.base/sun.security.util.SignatureFileVerifier.<init>(SignatureFileVerifier.java:123)
                at java.base/java.util.jar.JarVerifier.processEntry(JarVerifier.java:308)
                at java.base/java.util.jar.JarVerifier.update(JarVerifier.java:239)

谢谢。

java java-8 java-11
1个回答
0
投票

是的,由于出口法,加密和安全内容的依赖性可能会变得有点奇怪。也许这就是这里发生的事情。无论如何,只是猜测,但是您是否尝试过显式引入“PKCS7”依赖项?你没有提到你是否正在使用依赖管理系统,但如果你正在使用,比如说,Maven,你也许可以尝试类似的东西:

<!-- https://mvnrepository.com/artifact/org.webjars.bower/pkcs7 -->
<dependency>
    <groupId>org.webjars.bower</groupId>
    <artifactId>pkcs7</artifactId>
    <version>1.0.2</version>
</dependency>
© www.soinside.com 2019 - 2024. All rights reserved.