我正在将 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)
谢谢。
是的,由于出口法,加密和安全内容的依赖性可能会变得有点奇怪。也许这就是这里发生的事情。无论如何,只是猜测,但是您是否尝试过显式引入“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>