2011-03-08 2 views
2

미친 듯이 들릴지 모르겠지만 우리 개발자는 모두 같은 리눅스 머신에서 작업하고 있습니다.이 머신에는 넥서스가 메이븐 레포로 설치되어 있습니다. 사실 모든 사람들은 ~/.m2/폴더에있는 유물로 끝나며 넥서스 서버에서도 복제됩니다.로컬 메이븐 저장소를 비활성화하는 방법이 있습니까?

간단히 maven에게 넥서스의 인공물 만 보도록 지시 할 수 있습니까?

저는 현재 글로벌 메이븐 설정에서 <localRepository>/path/to/global/repo</localRepository> 속성을 설정했지만 두 명의 사용자가 동시에 같은 파일을 가져 오는 경우 문제가 발생할 수 있는지 확실하지 않습니다.

우리 회사는 우리에게 강력한 워크 스테이션을 사주지 않을 것이므로 우리는 모든 것을 개발 서버에 ssh로 보낼 수 있습니다.

답변

2

로컬 리포를 nexus 데이터 저장소로 지정하고 싶지는 않습니다. 설치가 넥서스의 저장소 데이터 저장소를 다시 업데이트하기 때문입니다.

단일 "기계"지역의 repo, 넥서스 데이터 저장소에
을 분리 한 후 각 사용자에 대해 "기계"지역의 repo를 가리키는 심볼릭 링크가되도록 ~/.m2/repository 디렉토리를 변경을 설정할 수 있습니다 그러나.

적어도 두 개의 사본 만있을 수 있습니다.

동시 설치 및 다운로드는 여전히 서로 충돌 할 수 있지만 성가신 다시 실행으로 해결할 수 있습니다.

업데이트 : 사용할 수있는 새로운 솔루션이 있습니다

.

TEAM (Apache Maven 용 Takari Extensions) 확장의 설치는 스레드로부터 안전한 로컬 저장소와 다중 모듈 빌드를위한 향상된 알고리즘을 제공합니다.

http://takari.io/book/30-team-maven.html#concurrent-safe-local-repository

+0

고마워요, 지금이 시점에서 제가하고있는 일입니다. 괜찮습니다. 그러나 나는 단지 global maven settings.xml 파일을 ~/.m2/repository보다는 알려진 위치를 가리 키도록 변경했다. 그것은 작동하지만 당신이 거기에 충돌이있을 수 있습니다 지점이 될 수 제안 :) 감사합니다 대답. –

+0

권장하지 않습니다. Maven 로컬 저장소는 동시에 사용될 수 없습니다. https://issues.apache.org/jira/browse/MNG-2802 –

+0

TEAM (Apache Maven 용 Takari Extensions)을 설치하지 않는 한. 이러한 확장은 스레드로부터 안전한 로컬 저장소와 다중 모듈 빌드를위한 향상된 알고리즘을 제공합니다. 나는 감동했다. http://takari.io/book/30-team-maven.html#concurrent-safe-local-repository – crowne

4

은 (는) 직접이 (가) 당신의 우려에 응답하는지 확실하지 않지만 올바른 것을 보여줍니다.

localRepository

http://maven.apache.org/settings.html에서 :이 값은이 빌드 시스템의 로컬 저장소의 경로입니다. 기본값은 $ {user.home} /. m2/repository입니다. 이 요소는 기본 빌드 서버에 특히 유용하며 모든 로그인 사용자는 공통 로컬 저장소에서 빌드 할 수 있습니다.

+0

감사원은 실제로 문서가 실제로 무엇을 말하고 있는지 알지 못했습니다. 내가 어떻게 그 것을 놓쳤는 지 모르겠습니다. 감사합니다. 감사합니다. –

0

명령 줄에서 --offline 옵션을 사용하십시오.

+1

이 원격 저장소를 사용하지 못하도록하고 로컬 저장소를 아티팩트를 해결할 수있는 유일한 장소로 남겨둔다. 물어 본 것이 아닙니다. – crowne

+1

와우. 그게 내 문제를 해결하는 데 정확히 도움이되었습니다. 감사합니다 –

+0

당신은 오신 것을 환영합니다! – Luixv

관련 문제