我的lib文件夹中有所有的jar,但我不知道哪些jars被签名,它包含许多硒 jars.my 构建.xml是:
<jar basedir="bin" destfile="build/xpath.jar">
<zipgroupfileset dir="lib" includes="*.jar">
<exclude name="**/*.RSA, **/*.SF, **/*.DSA"/>
</zipgroupfileset>
</jar>
但是当我在另一个项目中使用它时会出现以下异常:
线程 "main" 中的异常 java.lang.SecurityException: no manifest 签名文件输入部分 org/bouncycastle/asn1/ocsp/ResponderID.class at sun.security.util.SignatureFileVerifier.verifySection(SignatureFileVerifier.java:392) 在 sun.security.util.SignatureFileVerifier.processImpl(SignatureFileVerifier.java:249)
其他签名元数据包含在 META-INF/MANIFEST 中。中频。 我期待清单。来自其中一个已签名 JAR 的 MF 将包含在聚合 xpath.jar 中。 同时尝试排除清单。MF 文件。
这样的东西可能对你有用。
<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"合并档案"部分下的示例改编了这个。