0

저는 여러 모듈로 구성된 큰 프로젝트를 유지 관리하고 있습니다 (현재 각 모듈을 별도의 GIT 저장소로 유지 관리하고 있습니다).큰 프로젝트에서 하위 프로젝트 종속성 유지

5 레벨 종속성 트리를 만드는 모듈간에 상호 의존성이 있습니다. 현재는 각 모듈 (git repo)을 개별적으로 빌드하고 수동으로 JAR 파일을 종속 모듈 (git REPO)에 복사합니다.

때마다이 종속성을 유지하기가 어렵 기 때문에 일부 git REPO를 변경하면 종속성 트리의 모든 하위 REPO에 변경 사항 (JAR 파일)을 전파해야합니다. 이러한 변경 사항은 자식 REPO 등등에 다시 전파해야합니다. REPOs

대개 대형 프로젝트가 큰 프로젝트에서이 JAR 종속성을 처리하므로 수동으로 JAR 파일을 종속 REPO로 복사 할 필요가 없습니다

+1

보통 사람들은 maven/gradle/모든 빌드 도구를 사용하여 큰 프로젝트에 대한 종속성에 일부 프로젝트를 추가합니다. 또는 하나의 커다란 프로젝트를 만들 수 있습니다 - 모듈을 사용하여 서브 모듈을 만들거나 gradle을 사용하면 루트 프로젝트/모듈 빌드 결과에 모든 의존성을 갖게됩니다 –

답변

0

일반적으로 Nexus 또는 Artifactory와 같은 아티팩트 저장소에서 다양한 버전의 jar 파일을 관리합니다. Git 저장소에 항아리를 넣지 마십시오.

Maven 또는 Gradle을 사용하여 프로젝트를 빌드하는 경우 버전 번호가있는 빌드 결과를 Nexus/Artifactory에 배포 할 수 있습니다. 그렇다면 수동으로 복사하지 않고도 다른 프로젝트에 쉽게 의존 할 수 있습니다. 올바른 버전의 종속성을 gradle 또는 Maven 빌드 파일에 추가하기 만하면 빌드 도구가 Nexus/Artifactory에서 jar 파일을 가져옵니다.

Maven에서는 함께 빌드 할 수있는 하위 프로젝트가 포함 된 다중 모듈 프로젝트를 빌드 할 수도 있습니다.

관련 문제