본문 바로가기
Old Posts/Java

[Maven] 메이븐 오프라인 모드

by A6K 2021. 11. 16.

메이븐에는 '오프라인 모드(Offline mode)'라는 것이 있다. 금융망 같이 보안이 철저해야하는 곳은 오픈되어 있는 인터넷을 사용할 수 없는 경우가 많다. 프로젝트를 진행하면서 필요한 라이브러리를 빌드하는 그때그때 인터넷을 통해 다운로드하는게 제일 편하지만 인터넷을 사용할 수 없는 환경에서는 불가능하다.

이럴 때를 위해서 메이븐은 오프라인 모드라는 것을 제공한다. 필요한 라이브러리들을 미리 로컬에 다운로드해뒀다가 빌드할 때 오프라인 모드를 켜면 인터넷이 아닌 로컬에 있는 저장소에서 라이브러리들을 찾아쓰게 된다.


메이븐 오프라인 모드 준비

메이븐의 오프라인 모드를 사용하기 전에 필요한 라이브러리들을 미리 다운로드해야한다.

$ mvn dependency:go-offline

메이븐의 'go-offline' 골을 이용하면 된다. 이를 실행하면 프로젝트에 필요한 의존성 목록들을 모두 다운로드해놓는다.


메이븐 오프라인 모드

메이븐의 오프라인 모드를 사용하기 위해서는 단순히 -o 옵션이나 --offline 옵션을 붙여주기만하면 된다. 

$ mvn -o verify

그러면 미리 다운로드해놓은 로컬 저장소를 찾게되고 인터넷이 안되는 환경에서도 메이븐을 사용할 수 있다.

혹은 '~/.m2/settings.xml' 파일에 오프라인 모드의 사용을 켜놓는 방법을 사용할 수도 있다.

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      https://maven.apache.org/xsd/settings-1.0.0.xsd">
  <offline>true</offline>
</settings>

이렇게 켜놓으면 이 계정으로 진행하는 메이븐 작업에는 오프라인 모드가 기본으로 적용된다. 오프라인 설정은 기본 값이 false 이기 때문에 설정해놓지 않으면 적용되지 않는다.

댓글