Maven Repository를 자체 구축하고 Central Repository 접근을 차단하고자 하는 경우 Repository의 Mirror를 설정할 수 있습니다. 아래 도식의 경우에 해당합니다. 이 경우 Maven Remote Repository가 Mirror로써 동작하게 됩니다.
이 경우 다음과 같이 ~/.m2/settings.xml
파일을 다음과 같이 작성하도록 합니다 그리고 url을 내부에 구축한 Maven Repository URl을 지정하도록 합니다. 아래 설정에서 특별히 중요한 것은 <mirrorOf>
태그의 값을 central
로 지정하는 것입니다.
~/.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 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <mirrors> <mirror> <id>datadynamics</id> <name>Data Dynamics Repo</name> <url>http://nexus.data-dynamics.io/repository/central/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors> </settings>
다음은 Sonatype Nexus Repository로써 Maven Repository를 구현한 오픈소스입니다. 설치후 Repository URL을 ~/.m2/settings.xml
파일에 추가하면 Mirror로써 동작합니다.
참고로 회사에는 자체적으로 Maven Repository가 구축되어 있습니다.