首頁 >Java >java教程 >如何修復著色 JAR 檔案中的「清單主要屬性的簽署檔案摘要無效」錯誤?

如何修復著色 JAR 檔案中的「清單主要屬性的簽署檔案摘要無效」錯誤?

Linda Hamilton
Linda Hamilton原創
2024-12-30 22:42:20623瀏覽

How to Fix

執行.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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn