2013-05-15 2 views
1

제 생각에는 흥미로운 사례가 있습니다. 우리는 maven을 사용하고 있으며 여러 버전의 제품을 지원해야하는 경우가 있습니다. 가끔씩 1.x 및 2.x 빌드 구조가 진행될 때가 있습니다. 1.x 및 2.x는 모두 병렬로 구축 될 때, 때때로 우리는CI 서버에서 Maven 동시 빌드

설치 오류 유물의 메타 데이터를 참조 : 오류 설치 메타 데이터 : 업데이트 중 오류 그룹 리포지토리 메타 데이터

을 내가 받는다는-metadata- 말할 수있는 건 로컬 사용자의 저장소에있는 local.xml (이슈 버전은 아티팩트가 아님)이 다른 Maven 프로세스에 의해 동시에 쓰여지고 있습니다. Maven에게이 두 파일을 동시에 컴파일 할 수있게 해주는 방법이 있나요?하지만 파일을 수정하기 위해 쓰기 잠금을 기다리는 것입니까?

+2

이 문제는 2008 년부터 열려있는 [MINSTALL-54] (http://jira.codehaus.org/browse/MINSTALL-54)로 제출됩니다. – Joe

+0

이 문제로 인해 혼란 스럽다면 패치를 만드십시오. 소스 프로젝트 .... – khmarbaise

답변

3

이미 알고있는 것처럼 작동하지 않는 모든 빌드 작업에 동일한 로컬 리포지토리를 사용하고있는 것으로 들립니다. Jenkins/Hudson/CI의 요점은 모든 빌드 작업에 로컬 Maven 저장소를 사용하는 것입니다. 이러한 상황을 피하려면 Jenkins에서 로컬 메이븐 저장소를 사용하여 구성해야합니다.

+0

로컬 저장소를 사용하는 것은 CI를 다루는 경우에만 작동합니다. 필자가 개발자 인 경우 거의 동시에 로컬에서 빌드해야 할 수도 있습니다. Maven이이를 올바르게 처리해야합니다. @ 조가 주었던 쪽지에 답장 해 드리겠습니다. –

+0

동시에 두 개의 프로젝트를 빌드해야한다면'mvn -Dmaven.repo.local =/alternate/repo/location ... '을 사용할 수 있습니다. Maven에서는 작동하지 않지만 로컬 시스템에서 동시에 두 개의 프로젝트를 빌드해야한다는 요구 사항은 없었습니다. – khmarbaise

+0

로컬 저장소에 동시 액세스를 사용하려면 [Concurrent Safe Local Repository 액세스] (http://takari.io/book/30-team-maven.html)를 사용하십시오. – khmarbaise