Maven 로컬 repo 위치를 얻는 방법이 있습니까?
다음 명령을 사용하면 Maven이 특정 설정 파일을 사용하도록 강제 할 수 있습니다.
mvn -s < path to settings file >
settings.xml
파일을 편집 하여 저장소 위치를 설정할 수 있다는 것을 알고 있지만 Maven 명령으로 현재 기본값을 얻을 수 있습니까?
답변:
로컬 리포지토리 만 원하는 경우 다음을 시도하십시오.
mvn help:evaluate -Dexpression=settings.localRepository | grep -v '\[INFO\]'
편집하다
최근 버전의 Maven 도움말 플러그인 이 출력을 grep 할 필요성을 제거 할 수있는 evaluate
라는 목표에 대한 유용한 매개 변수를 도입했기 때문에 몇 년 후에 이것을 다시 검토 forceStdout
하고 있습니다.
mvn help:evaluate -Dexpression=settings.localRepository -q -DforceStdout
echo -e "INFO\nOFNI\nI\nIfoobar" | grep '[INFO]'
mvn help:evaluate -Dexpression=settings.localRepository | grep -E '^([a-zA-Z]:|/)'
에서 그 동안 당신은 간단한 방법으로 그렇게 할 수 있습니다 :
mvn help:evaluate -Dexpression=settings.localRepository -q -DforceStdout
이를 직접 사용하여 다음과 같은 셸 변수를 할당 할 수도 있습니다.
RESULT=$(mvn help:evaluate -Dexpression=settings.localRepository -q -DforceStdout)
중요 참고 사항 : 최신 버전의 Maven과 물론 최신 버전의 maven-help-plugin을 사용합니다.
여기에는 새 줄이없는 결과가 포함됩니다.
일반적으로 C:\Users\USER_NAME\.m2\repository
.
그러나 mvn help:effective-settings
명령은 반드시 응답 xml에 로컬 경로를 표시합니다.
| grep -v '\[INFO\]'
당신의 정규식 을 의도했다고 생각합니다 .