새로운 프로젝트 수정건을 받고 프로젝트에 맞게 톰캣7 과 JDK1.7을 설정해 주고 MAVEN인스톨을 했더니 제목과 같은 에러가 났다.


........................ Received fatal alert: protocol_version -> [Help 1] 


프로토콜버전이 맞지 않은거 같은데 나의 얇디 얆은 지식으로 해결할 수가 없어 바로 구글링을 하는 도중


MAVEN Repositoey가 https [TLS v1.2] 프로토콜로 연결되어야 하는데 


JDK 1.7 버전은 TLS v1.0 ~ v1.1이 기본값이라 프로토콜 버전이 달라서 에러가 났다는걸 알았다.


알아본 해결 방안으로는

1. jdk1.8 이상 버전을 사용하기

2. TLS v1.2로 바꾸기

2-1 System.setProperty("https.protocols", "TLSv1,TLSv1.1,TLSv1.2"); 메서드를 사용하여 https.protocols 속성을 지정해주는 방법

2-2 JVM옵션에 -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2 속성을 주는 방법


원인과 방법을 알았으나 애처롭게도 그 방법들을 적용하는 구체적인 방법은 없었으며 삽질을 계속 반복하다 쉬운 방법 하나를 발견했다.

나는 어차피 윈도우와 이클립스에서만 프로젝트 작업을 하므로 이클립스 JVM옵션을 설정해주면 되는 것이다.


eclipse가 깔려있는 디렉토리로 가면 (보통 eclipse 이름 그대로) eclipse.ini 라는 설정 파일이 있다.

여기에 2-2 방법에 나온 -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2 을 추가해주면 된다.




참고

http://sunghs.tistory.com/58

https://stackoverflow.com/questions/50946420/could-not-transfer-artifact-https-repo-maven-apache-org-maven2-received-fat

http://freestrokes.tistory.com/68


+ Recent posts