오프라인 모드에서 실행하려는 maven 설정 파일 에서 지정할 수 있지만 동등한 명령 줄 옵션이 있습니까?
나는 예를 들어 상상할 것이다
mvn install -Dmaven.offline.true
답변:
Maven의 오프라인 모드는 mvn -o
.
그러나 현재 프로젝트가 Maven 로컬 저장소 캐시 ( ~/.m2/repository
)에 아직없는 아티팩트를 참조하기 때문에 그것만으로는 충분하지 않을 수 있습니다 . 필요한 종속성이 누락되어 다운로드 할 수 없기 때문에 오프라인 모드에서 해당 프로젝트를 빌드하려는 시도가 실패합니다.
따라서 또 다른 유용한 목표가 있습니다.
mvn dependency:go-offline
이것은 비행기에 타기 전에 달릴 수있는 훌륭한 명령으로 BUILD SUCCESS
. 자세한 내용은 go-offline 문서 를 참조하세요.
mvn -o
대부분의 경우 작동하지만 일부 경우에는 Maven 3에서 원격 / 중앙 저장소에서 다운로드 한 아티팩트 _remote.repositories
가 종속성이 다운로드 된 위치에 대한 참조와 함께 로컬 저장소에 파일을 생성하기 때문에 충분하지 않습니다 .
나중에 빌드 중에이 원격 저장소에 액세스 할 수없는 경우 몇 가지 문제가 발생할 수 있습니다.
작동 할 수있는 해결 방법은 mvn -o -llr yourGoal
.
도움말 문서에서 :
-llr,-legacy-local-repository Maven 2 레거시 로컬 사용 저장소 동작, 즉 사용하지 않음 _remote.repositories. 또한 될 수 있습니다 사용하여 활성화 -Dmaven.legacyLocalRepo = true -o,-offline 오프라인으로 작업
오프라인 방식으로 mvn을 실행하는 또 다른 방법 _remote.repositories
은 다운로드 한 종속성의 디렉토리에 저장된 이러한 메타 데이터를 삭제 하는 것입니다.
mvn -h
:)