執行JAR 檔案時出現「無效簽章檔案」錯誤
嘗試執行Java 檔案(JAR) 檔案時,某些情況下可能會出現問題導致令人困惑的錯誤:「清單主要屬性的簽名文件摘要無效。」當您的程式使用外部庫並打包為JAR時,可能會出現此問題。
導致此錯誤的一個潛在原因在於 JAR 中存在清單簽署文件。這些文件是簽署過程的典型副產品,簽署過程是 JAR 檔案的安全措施。當嘗試使用 maven-shade-plugin 建立著色的「uber-JAR」時,排除配置對於防止這種衝突至關重要。
要解決此問題,請透過新增以下過濾器部分來修改外掛程式設定:
<configuration> <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude> </excludes> </filter> </filters> <!-- Additional configuration. --> </configuration>
此設定從uber-JAR 中排除清單簽章檔案(SF、DSA、RSA) ,從而消除了錯誤的根源。透過此修改,您的程式應該可以成功運行,而不會遇到「無效的簽署檔案」異常。
以上是如何修復 JAR 檔案中的「清單主要屬性的簽署檔案摘要無效」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!