[maven-2] Maven 로컬 리포지토리 위치를 얻는 방법은 무엇입니까?

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


답변

예, -X또는 --debug옵션으로 가져올 수 있습니다.mvn -X

...
[DEBUG] Reading global settings from C:\Maven\conf\settings.xml
[DEBUG] Reading user settings from C:\segphault\.m2\settings.xml
[DEBUG] Using local repository at C:\Repo
...


답변

Maven 도움말 플러그인은 로컬 저장소 경로를 포함한 로컬 설정을 표시합니다.

다음 명령을 원합니다.

mvn help:effective-settings

출력은 XML 형식으로 설정을 표시합니다. localRepository 요소를 찾으십시오.

<localRepository xmlns="http://maven.apache.org/SETTINGS/1.1.0">/home/jrs/.mavenRepo</localRepository>


답변

에서 그 동안 당신은 간단한 방법으로 그렇게 할 수 있습니다 :

mvn help:evaluate -Dexpression=settings.localRepository -q -DforceStdout

이를 직접 사용하여 다음과 같은 셸 변수를 할당 할 수도 있습니다.

RESULT=$(mvn help:evaluate -Dexpression=settings.localRepository -q -DforceStdout)

중요 참고 사항 : 최신 버전의 Maven과 물론 최신 버전의 maven-help-plugin을 사용합니다.

여기에는 새 줄이없는 결과가 포함됩니다.


답변

/home/.m2 디렉토리에 있어야하며 폴더가 숨겨져있을 수 있습니다. 따라서 숨겨진 폴더를 보려면 Ctrl + H를 사용해야합니다.


답변

Windows 사용자의 경우

일반적으로 C:\Users\USER_NAME\.m2\repository.
그러나 mvn help:effective-settings명령은 반드시 응답 xml에 로컬 경로를 표시합니다.


답변

-X옵션 을 사용하여 디버그 모드를 활성화하고 사용 중인 로컬 저장소를 언급하는 줄을 찾아 이를 수행 할 수 있습니다 .