jarsigner - 是什么导致 jarsigner 覆盖 MANIFEST.MF
问题描述
问题是为什么 jarsigner 有时会覆盖 MANIFEST.MF 文件,而不是仅仅将签名条目附加到正在签名的 jar 中的现有 MANIFEST.MF 文件中。
注意:我将此作为一个开放式问题发布,并将针对我遇到的导致此问题的一种情况提供答案或观察。如果还有其他可能发生这种情况的情况或情况,希望其他人会扩展发布的问题。
解决方案
呃,我自己的 2 美分就是简单地将 jarsigner 插件升级到版本3.0.0
解决了问题(原始清单条目保持不变)
在 pom.xml 中:
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jarsigner-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>sign</id>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
<configuration>
<keystore>mykeystore.jks</keystore>
<alias>myalias</alias>
<storepass>password</storepass>
<keypass>password</keypass>
</configuration>
</plugin>
...
当然,其他问题可能仍然存在 - 例如在我的情况下仍然抛出 ClassNotFoundException - 因为事实证明有一些 bouncycastle .SF 和 .DSA 文件包含在我的 JAR 的 META-INF 文件夹中,这些文件是从 bouncycastle 签名的 JAR 中携带的插件 - 它们干扰了我后来使用 jarsigner 插件进行的签名,导致在运行生成的 jar 时出现此错误java -jar myjar.jar
推荐阅读
- reactjs - 递归地克隆和修改 React 中的子组件 - 包括其他组件的子组件
- java - 使用正则表达式需要去除特定的特殊字符
- java - 如何从firebase android检索子数据
- lua - Garrys Mod Lua 问题(检查相等并打印)
- javascript - 映射数组返回未定义的值
- java - 使用 Java SDK,如何在 Azure 存储文件服务中的文件上设置元数据?
- google-data-studio - 谷歌数据工作室
- javascript - 如何将数据从 Node.JS Web 应用程序传输到另一个网站/服务器上的 JavaScript 客户端?
- html - 具有不同纵横比内容的响应式 iframe - 让解决方案寻找更好的解决方案
- java - 如何在启用 SSL 的域中使用 spring rest 模板