소스에서 빌드하기
소스에서 빌드하기 (Build from source)
Apache Druid를 소스에서 직접 빌드할 수 있어요. 빌드하려는 버전과 일치하는 이 페이지의 버전을 사용하세요. 함께 사용할 Java와 Maven부터 준비하고, mvn clean install로 빌드해요.
출처: 문서
본문
Apache Druid를 소스에서 직접 빌드할 수 있어요. 빌드하려는 버전과 일치하는 이 페이지의 버전을 사용하세요.
master의 최신 코드를 빌드하려면 이 페이지의 최신 버전을 여기에서 따라 하세요. URL에 /master/가 포함되어 있는지 확인하세요.
사전 요구사항
Java와 Maven 설치
지원되는 JDK를 얻는 방법은 Java documentation을 참고하세요.
기타 의존성
- 배포 빌드에는 Python 3.x와
pyyaml모듈이 필요해요. - 통합 테스트에는
pyyaml버전 5.1 이상이 필요해요.
소스 코드 다운로드
git clone [email protected]:apache/druid.git
cd druid
소스에서 빌드
Druid를 소스에서 빌드하는 기본 명령은 다음과 같아요:
mvn clean install
이 명령은 정적 분석, 단위 테스트, 클래스 컴파일을 실행하고 프로젝트를 JAR로 패키징해요. 소스나 바이너리 배포 tarball은 생성하지 않아요. 이 빌드는 완료하는 데 시간이 좀 걸릴 수 있다는 점에 유의하세요.
기본 단계 외에 다음 프로파일과 속성을 추가할 수도 있어요:
- -Pdist - 배포 프로파일: core extension과 의존성을 끌어와 파일을
distribution/target/apache-druid-x.x.x-bin.tar.gz로 패키징해 바이너리 배포 tarball을 생성해요. - -Papache-release - Apache 릴리스 프로파일: GPG 서명과 체크섬을 생성하고
distribution/target/apache-druid-x.x.x-src.tar.gz로 소스 배포 tarball을 빌드해요. - -Prat - Apache Rat 프로파일: Apache Rat 라이선스 감사 도구를 실행해요.
- -DskipTests - 단위 테스트를 건너뛰어요(빌드 시간 단축).
- -Dweb.console.skip=true - 프론트엔드 프로젝트를 건너뛰어요.
이들을 조합해서, 서명과 체크섬과 함께 소스·바이너리 배포판을 빌드하고 라이선스를 감사하며 단위 테스트를 건너뛰고 싶다면 다음을 실행해요:
mvn clean install -Papache-release,dist,rat -DskipTests
개발용 빌드
개발용으로는 dist 프로파일만 사용하고 Apache release와 rat 프로파일은 건너뛰세요.
mvn clean install -Pdist -DskipTests
빌드를 더 빠르게 하고 싶다면 -T1C 옵션으로 병렬 빌드를 활성화하고 일부 정적 분석 검사를 건너뛸 수 있어요.
mvn clean install -Pdist -T1C -DskipTests -Dforbiddenapis.skip=true -Dcheckstyle.skip=true -Dpmd.skip=true -Dmaven.javadoc.skip=true -Denforcer.skip=true
distribution/target 디렉터리 아래에서 배포 tar 파일을 찾을 수 있을 거예요.
잠재적 문제
pyyaml 누락
이 페이지의 지침을 따라 소스에서 Druid를 빌드하는데 다음 오류가 나온다면:
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.6.0:exec (generate-binary-license) on project distribution: Command execution failed.: Process exited with an error: 1 (Exit value: 1) -> [Help 1]
해결 방법: Python과 yaml 모듈이 설치되어 있는지 확인하세요:
pip install pyyaml
일부 시스템에서는 Python 3.x 버전의 pip를 사용해야 해요:
pip3 install pyyaml
더 알아보기 (Learn more)
- Java documentation — 지원 JDK를 얻는 방법을 알아봐요.
- Apache Druid 저장소 — 최신 빌드 지침을 확인해요.