반응형
Maven의 로컬 저장소 위치를 CLI 매개 변수로 지정
Maven 명령 행에서 로컬 Maven 저장소의 위치를 인수로 설정할 수 있습니까?
문제는에서 기본값을 사용하지 않는다는 것입니다 ~/.m2/repository
. 그러나 나는 자체 설정으로 빌드중인 일부 프로젝트를 확인했습니다 -s settings.xml
. 그 settings.xml은 로컬 저장소를 지정하지 않으므로 Maven은 ~/.m2/repository
다시 사용 합니다 ... <localRepository>
프로젝트의 settings.xml에 요소 를 추가하지 않고 기본이 아닌 로컬 저장소 위치를 사용하고 싶습니다.
난 노력 했어
-DlocalRepository="..."
$mvn invoker:run -s settings.xml clean install -DskipTests -DlocalRepositoryPath=
-Dsettings.localRepository
그러나 이러한 옵션 중 어느 것도 작동하지 않습니다.
따라서 타사 settings.xml을 수정할 것인지 로컬 리포지토리로 옮길 것인지 결정해야한다고 생각합니다. ~
maven 속성 사용 maven.repo.local
:
mvn -Dmaven.repo.local=$HOME/.my/other/repository clean install
settings.xml을 수정할 필요가 없습니다.
자식의 경우 :
alias mvn='mvn -Dmaven.repo.local=`git rev-parse --show-toplevel`/.m2/repository'
이것은 각 자식 저장소에서 별도의 메이븐 저장소를 사용합니다.
작동하는 해키 방법 중 하나는 다음과 같습니다.
<localRepository>${m2.localRepository}</localRepository>
settings.xml에 추가- mvn.sh 또는 mvn.bat에서 실행되는 명령에서 "$ @"
-Dm2.localRepository=<full path to home dir>/.m2/repository
앞에 추가하십시오 . 이렇게하면 기본 로컬 리포지토리가 있어야합니다. - 이제 사용할 수 있습니다
mvn -Dm2.localRepository=... <phases/goals>
. 명령 행 시스템 특성이 mvn 스크립트의 명령 행 다음에 명령 행에 추가되므로 우선권을 갖습니다. (적어도 나는 그것이 Windows와 Linux 모두에서 그런 식으로 작동한다고 확신하지만 테스트는 말할 것입니다.)
반응형
'developer tip' 카테고리의 다른 글
Gnu 어셈블러 (GAS)의 CFI 지시문은 무엇에 사용됩니까? (0) | 2020.07.30 |
---|---|
Matplotlib 투명 선 플롯 (0) | 2020.07.30 |
form.submit의 응답을 캡처하는 방법 (0) | 2020.07.30 |
jQuery로 iframe의 콘텐츠에 액세스하는 방법은 무엇입니까? (0) | 2020.07.30 |
JavaScript에서 HTML 테이블 본문에 행을 삽입하는 방법 (0) | 2020.07.30 |