두 손끝의 창조자

[maven]Blocked mirror for repositories 본문

패키지관리/Maven

[maven]Blocked mirror for repositories

codinglog 2022. 2. 10. 09:41

Maven으로 잘 불러오던 라이브러리가 어느 순간 Blocked mirror for repositories 에러를 뿜으면서 안됨.

이유는 3.8.1 부터 보안상의 이유로 HTTP 리포지토리를에 접근을 막았기 때문.

나같은 경우 같은 네트워크에 넥서스 리포지토리를 구축해놓고 라이브러리 공유차원에서 사용하고 있었는데 이 리포지토리가 HTTPS가 아니였기 때문에 오류났음.

리포지토리를 HTTPS 로 구동하게 하면 가장 좋겠지만 할 수 없는 경우 해결방법은 ~/.m2/settings.xml 에 미러 리포지토리를 추가하여 임시적으로 해결할 수 있음.

만약 maven 에 리포지토리가

<repository>
  <id>mynexus</id>
  <url>http://111.11.11.111/nexus/content/groups/public</url>
  <releases>
    <enabled>true</enabled>
  </releases>
  <snapshots>
    <enabled>true</enabled>
  </snapshots>
</repository>

이었다면 ~/.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">
    <mirrors>
        <mirror>
            <id>release-http-unblocker</id>
            <mirrorOf>mynexus</mirrorOf>
            <url>http://111.11.11.111/nexus/content/groups/public</url>
        </mirror>
    </mirrors>
</settings>

~/.m2/settings.xml 파일이 없다면 새로 만들면된다.

나열된 리포지토리가 여러개인 경우 모두 등록 해야함.

반응형
Comments