목적
회사에서 IntelliJ 환경을 초기 설정한 후 프로젝트를 빌드하는 과정에서 Nexus에 접근하지 못해 빌드가 실패하는 문제가 발생했다.
의존성 라이브러리를 내려받는 과정에서 문제가 발생한 것으로 보였고, 이를 계기로 Sonatype Nexus Repository(Nexus)가 어떤 역할을 하는지 알아보게 되었다.
Nexus Repository란?
- 메이븐 사용하면 pom.xml 파일로 jar 파일 다운받아옴
- Nexus는 메이븐에서 사용할 수 있는 Repository.
- 외부 의존을 덜고, local nexus(cache)로 사용함으로써 빠르게 라이브러리 끌어올 수 있음.
- 한번 다운로드받은 dependency는 로컬에 저장되나, 컴퓨터를 포맷하거나 새롭게 시작하는 상황에서는 설정을 해야함
Nexus Repository 특징
- 회사/단체의 화이트 리스트로 인해 외부 repository에 접속하기 어려운 프록스 역할
- 비상시 외부 인터넷이 느리거나 repository가 다운되는 상황에서도 빠른 다운 가능
- 현재 maven에 올라와있지 않은 자료들을 효율적으로 관리 가능
- 서버에도 동일한 설정을 해줘야함으로 서버 구조 복잡하면 잔업도 늘어남
- 예외 파일로 인한 설정이 줄어들어 일관성 증가함
주의사항
한번 다운 받은 Nexus는 로컬에 반영구적으로 저장되나, 새롭게 시작하는 상황에서는 설정 필요
참고자료
https://m.blog.naver.com/qhdqhdekd261/221827574154