執行.jar 時出現無效簽章檔案錯誤
執行包含對外部函式庫(例如bouncy castle)相依性的.jar 檔案時),使用者可能會遇到以下錯誤:
java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
這個錯誤常出現表示jar的數位簽名存在問題。
Maven-Shade-Plugin 用戶的解決方案
對於使用maven-shade-plugin 建立著色uber-jar 的用戶,解決方案在於從著色過程中排除方案在於清單簽署文件。將以下行加入插件的配置中:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <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> </plugin>
透過排除這些文件,陰影的 uber-jar 將不會包含衝突的簽名訊息,從而解決「無效簽署文件」錯誤。
以上是如何修復著色 JAR 檔案中的「清單主要屬性的簽署檔案摘要無效」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!