Repolode
GradleUp

GradleUp/shadow

프로젝트와 의존성을 묶은 fat/uber JAR를 만들고, 패키지 재배치와 파일 변환을 지원하며, R8/ProGuard로 결과물을 축소하는 Gradle 플러그인입니다.

스타
4,243
포크
427
열린 이슈
11
마지막 커밋
20시간 전

어떤 프로젝트인가요?

Shadow는 프로젝트와 의존성을 단일 fat 또는 uber JAR로 패키징하는 Gradle 플러그인입니다. Maven Shade Plugin에 대응하는 Gradle 도구로, 라이브러리를 하나의 실행 가능한 아티팩트로 묶을 때 필요한 일반적인 기능을 제공합니다.

의존성을 병합하는 것 외에도 패키지를 재배치(이름 변경)해 classpath 충돌을 방지하고, 패키징 중 리소스 파일을 변환하거나 병합하며, R8 또는 ProGuard로 결과물을 최적화할 수 있습니다. Gradle Plugin Portal과 Maven Central에 플러그인 ID com.gradleup.shadow로 배포되며, Gradle 8.0 이상을 지원합니다. 프로젝트는 기존 관리자로부터 GradleUp 조직으로 이전했으며, 이전 플러그인 ID인 com.github.johnrengelman.shadow는 레거시 빌드에서만 사용합니다.

핵심 기능

  • 01프로젝트 의존성을 하나의 아티팩트로 묶은 fat/uber JAR를 생성합니다.
  • 02라이브러리 간 classpath 충돌을 방지하도록 패키지를 재배치합니다.
  • 03패키징 중 리소스 파일을 변환하고 병합합니다.
  • 04R8 또는 ProGuard로 결과물을 최적화합니다.
  • 05Gradle Plugin Portal과 Maven Central에서 이용할 수 있습니다.

활용 사례

  • 의존성이 많은 Java 또는 Kotlin 애플리케이션을 위한 단일 실행 가능 JAR를 만듭니다.
  • classpath에 있는 다른 버전과의 충돌을 피하도록 라이브러리를 비공개 패키지 이름으로 셰이딩합니다.
  • R8 또는 ProGuard로 사용하지 않는 코드를 제거해 배포용 JAR의 크기를 줄입니다.

빠른 시작

  1. 1

    Gradle 빌드에 ID가 com.gradleup.shadow인 플러그인을 적용하세요

  2. 2

    구성 및 사용 방법은 User Guide를 참조하세요

사용 전 알아둘 점

  • 최신 릴리스에는 Java 17 이상과 Gradle 9.4 이상이 필요합니다.

토픽

자주 묻는 질문

shadow은(는) 무엇인가요?
프로젝트와 의존성을 묶은 fat/uber JAR를 만들고, 패키지 재배치와 파일 변환을 지원하며, R8/ProGuard로 결과물을 축소하는 Gradle 플러그인입니다. Shadow는 프로젝트와 의존성을 단일 fat 또는 uber JAR로 패키징하는 Gradle 플러그인입니다. Maven Shade Plugin에 대응하는 Gradle 도구로, 라이브러리를 하나의 실행 가능한 아티팩트로 묶을 때 필요한 일반적인 기능을 제공합니다.
shadow은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
shadow은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
shadow은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. shadow의 마지막 커밋은 2026년 11월 6일입니다.
shadow은(는) 어디에 사용할 수 있나요?
의존성이 많은 Java 또는 Kotlin 애플리케이션을 위한 단일 실행 가능 JAR를 만듭니다. classpath에 있는 다른 버전과의 충돌을 피하도록 라이브러리를 비공개 패키지 이름으로 셰이딩합니다. R8 또는 ProGuard로 사용하지 않는 코드를 제거해 배포용 JAR의 크기를 줄입니다.
shadow는 어떻게 설치하나요?
Gradle 빌드에 ID가 com.gradleup.shadow인 플러그인을 적용하세요 구성 및 사용 방법은 User Guide를 참조하세요
shadow은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/GradleUp/shadow

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트