[ERROR] Failed to execute goal on project XXX: Could not resolve dependencies for project co.xxx.yyy:zzz:war:0.0.1-SNAPSHOT: Failed to collect dependencies at org.springframework.boot:spring-boot-starter-webflux:jar:3.1.1: Failed to read artifact descriptor for org.springframework.boot:spring-boot-starter-webflux:jar:3.1.1: Could not transfer artifact org.springframework.boot:spring-boot-starter-webflux:pom:3.1.1 from/to egovframe (https://maven.egovframe.go.kr/maven/): transfer failed for https://maven.egovframe.go.kr/maven/org/springframework/boot/spring-boot-starter-webflux/3.1.1/spring-boot-starter-webflux-3.1.1.pom: Connect to maven.egovframe.go.kr:443 [maven.egovframe.go.kr/211.188.81.8] failed: Connection timed out (Connection timed out) -> [Help 1]
maven은 pom.xml에 있는 라이브러리들을 자동으로 다운로드 받아 추가해준다.
다운로드 하려고 보니 maven repo에 접근하지 못해, 라이브러리를 다운받지 못하고 있다.
해결 방법은 간단하다.
1) 라이브러리 jar 파일을 직접 다운로드 한다.(https://mvnrepository.com/)
2) 빌드하려는 환경의 maven repo에 경로에 맞게 jar파일을 넣어준다.
C:\Users\[사용자명]\.m2\repository
/home/[사용자명]/.m2/repository
해당 프로젝트는 다음과 같은 환경에서 이루어져 있다.
따라서 Jenkins의 maven repo 위치에 jar 파일을 추가해줘야 한다.
나의 경우 maven repo는 /var/jenkins_home
였으며, Docker에 volume 설정을 해주었다.
volumes:
- /data/jenkins/home:/var/jenkins_home
오류가 난 라이브러리의 jar 파일을 다운로드 한 뒤,
.m2/repository/org/springframework/boot/spring-boot-starter-webflux/3.1.1
경로에 jar 파일을 추가해주었다.