[maven] Maven에서 사용중인 settings.xml 파일을 확인하는 Maven 명령

maven 명령 줄을 사용하여 Maven이 선택하는 settings.xml 파일을 확인하려면 어떻게합니까?



답변

-X 옵션 (디버그)으로 maven을 시작하고 출력의 시작을 검사하십시오. 다음과 같은 것이 있어야합니다.

...
[INFO] Error stacktraces are turned on.
[DEBUG] Reading global settings from c:\....\apache-maven-3.0.3\conf\settings.xml
[DEBUG] Reading user settings from c:\....\.m2\settings.xml
[DEBUG] Using local repository at C:\....\repository
...

(원래 디렉토리 이름은 나에 의해 제거됩니다)


답변

cletus의 (정확한) 답변에 대한 귀하의 의견은 여러 Maven 설정 파일이 관련되어 있음을 나타냅니다.

Maven은 항상 하나 또는 두 개의 설정 파일을 사용합니다. ($ {M2_HOME} /conf/settings.xml)에 정의 된 전역 설정은 항상 필요합니다. $ {user.home} /. m2 / settings.xml에 정의 된 사용자 설정 파일은 선택 사항입니다. 사용자 설정에 정의 된 설정은 해당 전역 설정보다 우선합니다.

명령 행에서 글로벌 및 사용자 설정의 위치를 ​​대체 할 수 있습니다. 다음 예제는 글로벌 설정을 c : \ global \ settings.xml로 설정 하고 사용자 설정을 c : \ user \ settings.xml로 설정합니다 .

mvn install --settings c:\user\settings.xml
    --global-settings c:\global\settings.xml

현재 Maven에서 사용한 사용자 및 전역 설정 파일을 설정하는 속성이나 수단이 없습니다. 이러한 값에 액세스하려면 MavenCli 및 / 또는 DefaultMavenSettingsBuilder를 수정하여 파일 위치를 해결 된 Settings 객체에 주입해야합니다.


답변

maven help 플러그인 을 사용 하여 사용자 및 전역 설정 파일의 내용을 알려줄 수 있습니다.

mvn help:effective-settings

maven은 결합 된 전역 및 사용자 설정 을 뱉어달라고 요청 합니다.


답변

이것은 Maven의 구성 파일입니다. 두 가지 수준으로 지정할 수 있습니다.

  1. 사용자 수준. 이 settings.xml 파일은 단일 사용자를위한 구성을 제공하며 일반적으로 $ {user.home} /. m2 / settings.xml에 제공됩니다.

              NOTE: This location can be overridden with the CLI option:
    
              -s /path/to/user/settings.xml
  2. 글로벌 수준. 이 settings.xml 파일은 머신의 모든 Maven 사용자를위한 구성을 제공합니다 (모두 동일한 Maven 설치를 사용한다고 가정). 일반적으로 $ {maven.home} /conf/settings.xml에 제공됩니다.

              NOTE: This location can be overridden with the CLI option:
    
              -gs /path/to/global/settings.xml

답변

M2_HOME글로벌 한에 대한 환경 변수. 참조 설정 참조 :

파일 의 settings요소
settings.xml에는와 같은 다양한 방법으로 Maven 실행을 구성하는 값을 정의하는 데 사용되는 요소가 포함되어 pom.xml있지만 특정 프로젝트에 번들로 묶거나 대상에게 배포해서는 안됩니다. 여기에는 로컬 저장소 위치, 대체 원격 저장소 서버 및 인증 정보와 같은 값이 포함됩니다. settings.xml 파일이있는 위치는 두 가지가 있습니다.

  • 메이븐 설치 : $M2_HOME/conf/settings.xml
  • 사용자 설치 : ${user.home}/.m2/settings.xml

답변

Maven이 원하는 settings.xml을 사용하고 있는지 확인하는 빠르고 더러운 방법은 xml을 무효화하고 settings.xml이 필요한 안전한 maven 명령을 실행합니다.

settings.xml을 읽는 다면 Maven은 “settings.xml을 읽는 중 오류 가 발생했습니다 …”라는 오류를 보고합니다.


답변