프로그래밍

Gradle build로 의존성 가져오기

모지사바하 2024. 11. 6. 09:45

Gradle build로 의존성 가져오기

  1. 캐시 사용:
    • 의존성이 캐시에 있으면 리포지토리에 접근하지 않습니다.
  2. 리포지토리 접근:
    • 의존성이 캐시에 없으면 리포지토리에 접근합니다.
    • POM 파일을 조회하여 의존성 및 전이적 의존성을 다운로드합니다.
    • Gradle 6.0 이후:
      • 기본적으로 POM이 없으면 다운로드에 실패합니다.
      • 단, metadataSources { artifact() } 설정을 추가하면 POM 없이도 아티팩트를 다운로드할 수 있습니다.

IntelliJ 새로고침으로 의존성 가져오기 (Gradle Tooling API 사용)

  1. POM 파일이 없는 경우:
    • JAR 파일만 존재해도 의존성을 가져올 수 있습니다.
    • 단, 전이적 의존성은 가져올 수 없습니다 (POM이 없어 의존 관계를 알 수 없음).
  2. POM 파일이 있는 경우:
    • 의존성 및 전이적 의존성을 가져오려고 시도합니다.
    • 일부 전이적 의존성이 리포지토리에 없어도 완전히 실패하지 않습니다:
      • 존재하는 의존성은 정상적으로 가져옵니다.
      • 누락된 의존성에 대해서는 경고를 표시할 수 있습니다.
      • 전체 프로세스는 계속 진행됩니다.

추가 참고사항

  • IntelliJ IDEA는 Gradle build보다 더 유연한 의존성 해결 메커니즘을 사용합니다.
  • 이로 인해 IDE에서는 의존성 해결이 성공하지만 실제 빌드에서는 실패할 수 있어, 주의가 필요합니다