java - 线程“主”java.lang.NoSuchMethodError 中的异常:sun.security.pkcs.PKCS7.generateSignedData
问题描述
我正在尝试签署一个简单的 jar,但是在我签署了这个错误之后,我的密钥库和 jarsigner 与我的项目位于同一个文件夹中。
任何帮助,将不胜感激!
Exception in thread "main" java.lang.NoSuchMethodError: sun.security.pkcs.PKCS7.generateSignedData([B[Ljava/security/cert/X509Certificate;[BLjava/lang/String;Ljava/net/URI;Ljava/lang/String;)[B
at sun.security.tools.jarsigner.TimestampedSigner.generateSignedData(TimestampedSigner.java:135)
at sun.security.tools.jarsigner.SignatureFile$Block.<init>(Main.java:2378)
at sun.security.tools.jarsigner.SignatureFile.generateBlock(Main.java:2276)
at sun.security.tools.jarsigner.Main.signJar(Main.java:1272)
at sun.security.tools.jarsigner.Main.run(Main.java:240)
at sun.security.tools.jarsigner.Main.main(Main.java:104)
C:\Users\Joey\Desktop\Lab10\Java Certificates\Java Certificates\bin>javac -version
javac 1.8.0_192
C:\Users\Joey\Desktop\Lab10\Java Certificates\Java Certificates\bin>java -version
java version "1.8.0_192"
Java(TM) SE Runtime Environment (build 1.8.0_192-b12)
Java HotSpot(TM) Client VM (build 25.192-b12, mixed mode, sharing)
解决方案
问题是您正在尝试使用在您正在运行的库中不存在的方法。也许是方法本身或更可能是一些参数。
尝试使用其他版本的 Java 而不是 8 对您的 jar 进行签名,也许版本 5 或 7 可能适合您。
推荐阅读
- c# - C# Linq 等价于 SQL 嵌套 group by
- scheme - 有没有办法在 Typed Racket 中声明一个表示所有可调用过程(任何可调用的过程)的类型?
- r - R 和 DT - 您可以将行副标题和组添加到数据表吗?
- elasticsearch - 如何使用logstash解析日志
- python - 为什么我在切片数据后收到密钥错误?
- spring-mvc - JVMVRFY012:JSTL 标记的 VerifyError - Foreach 和 Set 标记
- mongodb - 如何在mongodb中按日期分组并根据计数获取前三条记录
- mysql - SQL:通过将子表连接到另一个来计算百分比
- javascript - 如何在highcharts中实现KDJ指标计算
- javascript - 没有编辑器的 headerFilterParams