5

我的 lib 文件夹中有所有 jar,但我不知道哪些 jar 已签名,它包含许多 selenium jar。我的 build.xml 是:

        <jar basedir="bin" destfile="build/xpath.jar">
        <zipgroupfileset dir="lib" includes="*.jar">
            <exclude name="**/*.RSA, **/*.SF, **/*.DSA"/>
            </zipgroupfileset>
        </jar>

但是当我将它用于另一个项目时出现以下异常:

线程“主”java.lang.SecurityException 中的异常:sun.security.util.SignatureFileVerifier.verifySection(SignatureFileVerifier.java:392) 处的签名文件条目 org/bouncycastle/asn1/ocsp/ResponderID.class 没有清单部分。 security.util.SignatureFileVerifier.processImpl(SignatureFileVerifier.java:249)

4

2 回答 2

1

额外的签名元数据包含在 META-INF/MANIFEST.MF 中。我希望来自已签名 JAR 之一的 MANIFEST.MF 包含在您的聚合 xpath.jar 中。也尝试排除 MANIFEST.MF 文件。

于 2012-04-27T16:55:10.467 回答
1

像这样的东西可能对你有用。

<jar destfile="build/xpath.jar" basedir="bin">
    <restrict>
        <not>
            <or>
                <name name="**/*.RSA"/>
                <name name="**/*.SF"/>
                <name name="**/*.DSA"/>
            </or>
        </not>
        <archives>
            <zips>
                <fileset dir="lib" includes="**/*.jar"/>
            </zips>
        </archives>
    </restrict>
</jar>

我从http://ant.apache.org/manual/Tasks/jar.html的“合并档案”部分下的示例改编了这个。

于 2013-12-11T14:58:04.743 回答