JetBrains가 멀티플랫폼 개발을 위해 개발한 Kotlin 프로그래밍 언어와 컴파일러, 표준 라이브러리, 빌드 도구입니다.
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
Gradle 빌드에 ID가 com.gradleup.shadow인 플러그인을 적용하세요
- 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 통계는 매일 갱신됩니다.
관련 프로젝트
Java, Kotlin, Android 라이브러리와 소스 및 javadoc을 Maven Central이나 다른 Nexus 저장소에 배포하는 Gradle 플러그인입니다.
Kotlin 프로젝트에 검사 및 자동 포맷 작업을 추가하는 ktlint용 Gradle 플러그인입니다.
Gradle은 Java, Kotlin, Scala, Android, Groovy, C++, Swift 프로젝트의 멀티 프로젝트 빌드를 지원하는 빌드 자동화 도구입니다.
Docker 데몬 없이 Maven 또는 Gradle로 Java 애플리케이션의 최적화된 Docker 및 OCI 컨테이너 이미지를 빌드합니다.
JVM 아티팩트를 위한 경량 자체 호스팅 Maven 저장소 관리자이자 Nexus, Archiva, Artifactory의 경량 대안입니다.