maven build, install, clean 등을 실행하면 pom.xml에 있는 dependency에 따라 https://repo.maven.apache.org/maven2 에서 라이브러리를 받기 위해 통신을 하며 오류가 난다.
[java] PKIX path building failed 해결방법(HTTPS 통신 에러)
목차 java에서 외부 사이트에 HTTPS로 통신할 경우 "PKIX path building failed"가 발생할 수 있다. 원인은 여러가지가 있을 수 있지만 내 경우는 해당 사이트의 인증서를 JVM의 인증서 목록에 추가해 줘서
yaga.tistory.com
위에서 InstallCert.java 다운 후 컴파일하기
cmd 관리자 권한으로 실행
javac InstallCert.java
java -cp . InstallCert repo.maven.apache.org
Server sent 1 certificate(s):
Enter certificate to add to trusted keystore or 'q' to quit: [1]
1
실행하면
Added certificate to keystore 'jssecacerts' using alias 'repo.maven.apache.org-1'
라고 alias를 자동으로 붙여주며 jssecacerts 가 생성된다.
keytool -exportcert -keystore jssecacerts -storepass changeit -file output.cert -alias repo.maven.apache.org-1
exportcert 한 뒤,
keytool -importcert -keystore "%JAVA_HOME%/lib/security/cacerts" -storepass changeit -file output.cert -alias repo.maven.apache.org-1
importcert 해주는데,
이때 위치는 JAVA_HOME 으로 사용중인 JDK의 cacerts가 위치한 곳이다.
Trust this certificate? [no]: yes
Certificate was added to keystore
후 STS 종료하고 다시 실행하여 Build 하면 정상적으로 빌드할 수 있다.