gpt4 book ai didi

java - 比较目录中的 jar 证书

转载 作者:行者123 更新时间:2023-12-02 11:04:11 25 4
gpt4 key购买 nike

我正在编写单元测试来比较 Jar 证书的签名。我被困在如何提供 JarFile 的文件路径上:截至目前,它似乎正在返回某种哈希名称。

String[] jarClasses2 = dir2.list()
for (int i = 0; i < jarClasses2.length; i++) {
String jarName = jarClasses2[i]
String filePath="pos/lib2/"+jarName
JarFile jarFile1=new JarFile(filePath)
JarFile jarFile = new JarFile(filePath)
Certificate cert = entry.getCertificates()
JarEntry entry=jarFile.entries()
assertNotNull(cert)
}

我的文件路径是正确的,但是当我打印 jarFile 的名称时,它是:“java.util.jar.JarFile@1e66f1f5”。当尝试将 jar 文件转换为 JarEntry 时,我也收到异常:

*org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'java.util.jar.JarFile$JarEntryIterator@7530ad9c' with class 'java.util.jar.JarFile$JarEntryIterator' to class 'java.util.jar.JarEntry'

关于如何获取 jar 位置并正确转换它有什么建议吗?

最佳答案

您看到强制转换异常的原因是 .entries() 返回

Enumeration <JarEntry>

不仅仅是一个JarEntry。所以而不是

    JarEntry entry=jarFile.entries()

你需要这样的东西:

    Enumeration<JarEntry> entries=jarFile.entries()

while(entries.hasMoreElements()) {
JarEntry entry = entries.nextElement()
Certificate[] certificates = entry.getCertificates()
// process certificates in this jar entry
}

(参见JarFile#entries()JarEntry#getCertificates())。

关于java - 比较目录中的 jar 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51103214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com