>Java >java지도 시간 >내 JAR 파일에서 'java.lang.SecurityException: 잘못된 서명 파일 다이제스트' 오류를 수정하는 방법은 무엇입니까?

내 JAR 파일에서 'java.lang.SecurityException: 잘못된 서명 파일 다이제스트' 오류를 수정하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-24 14:31:21527검색

How to Fix

Jar 실행 시 잘못된 서명 파일 오류 해결

.jar로 패키지된 Java 프로그램을 실행하려고 하면 오류가 발생할 수 있습니다. "java.lang.SecurityException: 매니페스트 기본 속성에 대한 서명 파일 다이제스트가 잘못되었습니다." 이 오류는 일반적으로 .jar이 탄력성 같은 외부 라이브러리를 사용할 때 발생합니다.

이 오류의 근본 원인은 JVM(Java Virtual Machine)의 서명 확인 프로세스에 있습니다. JVM은 .jar에 포함된 매니페스트 파일의 서명을 확인하여 신뢰성과 무결성을 확인합니다. 그러나 사용 중인 라이브러리에 자체 서명이 포함되어 있으면 JVM의 확인 프로세스와 충돌할 수 있습니다.

특히 maven-shade-plugin을 사용하여 uber-jar를 생성하는 사람들과 관련된 이 문제에 대한 잠재적인 해결책 중 하나는 다음과 같습니다. 쉐이딩 프로세스에서 서명 파일을 제외합니다. 플러그인 구성에 다음 줄을 추가하면 서명 파일이 제외되어 오류가 해결됩니다.

<filters>
    <filter>
        <artifact>*:*</artifact>
        <excludes>
            <exclude>META-INF/*.SF</exclude>
            <exclude>META-INF/*.DSA</exclude>
            <exclude>META-INF/*.RSA</exclude>
        </excludes>
    </filter>
</filters>

uber-jar에서 서명 파일을 제외하면 JVM의 확인 프로세스와의 충돌을 피할 수 있습니다. 프로그램은 "잘못된 서명 파일" 오류 없이 실행됩니다.

위 내용은 내 JAR 파일에서 'java.lang.SecurityException: 잘못된 서명 파일 다이제스트' 오류를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.