아주 오래된? 3년전 프로젝트를 git에서 받아 실행하는데 콘솔에 아래와 같은 에러가 나왔다.
java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
일반적인 원인은 maven-shade-plugin 으로 over-jar를 생성하는 과정에서 .RSA, .SF, .DSA 이 3가지 확장자 파일들이 병합이 안되는데 있었다.
아마 메이븐 버전이 업데이트 되면서 관련 업데이트가 있었던 것 같다. (3년전에는 이 설정으로 개발, 배포 다 했었으니깐? )
어찌됐든 해결책은 pom.xml 을 열어 maven-shade-plugin 에 아래와 같은 설정 코드를 추가하면 된다.
<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>
참고)
http://stackoverflow.com/questions/999489/invalid-signature-file-when-attempting-to-run-a-jar
향로 (기억보단 기록을)님의
글이 좋았다면 응원을 보내주세요!
이 글이 도움이 됐다면, 응원 댓글을 써보세요. 블로거에게 지급되는 응원금은 새로운 창작의 큰 힘이 됩니다.
응원 댓글은 만 14세 이상 카카오계정 이용자라면 누구나 편하게 작성, 결제할 수 있습니다.
글 본문, 댓글 목록 등을 통해 응원한 팬과 응원 댓글, 응원금을 강조해 보여줍니다.
응원금은 앱에서는 인앱결제, 웹에서는 카카오페이 및 신용카드로 결제할 수 있습니다.