maven 의 setting 설정 파일 에서 mirror 와 reposcory 의 차 이 를 자세히 설명 합 니 다.

Maven 이 필요 로 하 는 jar 패키지 가 로 컬 창고 에 없 을 때 원 격 창고 에서 다운로드 해 야 합 니 다.
이때 mavensetting.xml 에 미 러 가 설정 되 어 있 고 미 러 설정 규칙 이 대상 창고 에 일치 할 때
maven 은 대상 창고 가 미 러 에 의 해 다 시 는 미 러 창고 에 다운로드 되 지 않 고 jar 가방 에 의존 하지 않 고 미 러 창고 에 가서 다운로드 할 것 이 라 고 생각 합 니 다.
쉽게 말 하면 mirror 는 원 격 창고 에 대한 요청 을 차단 하고 대상 창고 에 대한 다운로드 주 소 를 변경 할 수 있 습 니 다.
repository
reposcory 는 창고 입 니 다.
maven 에는 로 컬 창고 와 원 격 창고 가 두 가지 있 습 니 다.
원 격 창 고 는 공공 창고 에 해당 해 누구나 볼 수 있다.
로 컬 창 고 는 로 컬 캐 시 복사 본 입 니 다.당신 만 볼 수 있 고 주로 캐 시 역할 을 합 니 다.
창고 에 플러그 인 을 요청 하거나 의존 할 때 로 컬 창고 에 있 는 지 확인 합 니 다.
있 으 면 바로 돌아 갑 니 다.그렇지 않 으 면 원 격 창고 에 요청 하고 로 컬 창고 에 캐 시 됩 니 다.
원 격 창 고 는 프로젝트 의 pom.xml 파일 에서 지정 할 수 있 습 니 다.
지정 되 지 않 으 면 기본적으로http://repo1.maven.org/maven2이 곳 에 가서 플러그 인과 의존 패 키 지 를 요청 합 니 다.

*<repository> *

*  <snapshots> *

*  <enabled>false</enabled> *

*  </snapshots> *

*  <id>central</id> *

*  <name>Maven Repository Switchboard</name> *

*  <url>**[http://repo1.maven.org/maven2</url>*

* </repository> *
로 컬 창 고 는 기본적으로 로 컬 사용자 디 렉 터 리 의.m2/reposcory 디 렉 터 리 에 있 습 니 다.
mirror
mirror 는 미 러 로 원 격 창고 주 소 를 편리 하 게 전환 하 는 경 로 를 제공 합 니 다.
예 를 들 어 출근 할 때 회사 에서 텔 레 콤 네트워크 로 텔 레 콤 창고 까지 연결 했다.
집에 돌아 온 후에 네트워크 가 통 하 는 네트워크 입 니 다.저 는 네트워크 가 통 하 는 창고 까지 mirror 설정 을 통 해 제 공사 안의 창고 주 소 를 모두 연결 시 킬 수 있 습 니 다.구체 적 인 공사 프로필 에서 주 소 를 하나씩 바 꾸 지 않 아 도 됩 니 다.
mirror 의 설정 은.m2/settings.xml 에 있 습 니 다.예:

*<mirrors> *

* <mirror> *

* <id>UK</id> *

* <name>UK Central</name> *

* <url>**[http://uk.maven.org/maven2</url> ](http://uk.maven.org/maven2%3C/url%3E%C2%A0%C2%A0)*

* <mirrorOf>central</mirrorOf> *

* </mirror> *

*</mirrors> *
이렇게 되면 위 id 가 central 의 원 격 창고 에 미 러 를 만들어 줍 니 다.
앞으로 central 이라는 창고 에 보 내 는 요청 은 모두 보 내 드 리 겠 습 니 다.http://uk.maven.org/maven2...이 아니 라http://repo1.maven.org/maven2됐어.
central에 대체 할 창고 의 id 입 니 다.
*를 채 우 면 모든 창 고 를 대체 합 니 다.
고급 미 러 설정
복잡 한 수 요 를 만족 시 키 기 위해 Maven 은 더 높 은 미 러 설정 도 지원 합 니 다.
1.*
모든 원 격 창고 와 일치 합 니 다.
2.external:*
모든 원 격 창고 와 일치 합 니 다.localhost 를 사용 하 는 경 우 는 제외 하고 file:/프로 토 콜 을 사용 하 는 경 우 는 제외 합 니 다.이 컴퓨터 에 없 는 모든 원 격 창고 와 일치 하 는 것 이다.
3.repo1,repo2
창고 repo 1 과 repo 2 와 일치 하 며,쉼표 로 여러 원 격 창 고 를 구분 합 니 다.
4.*,!repo1
모든 원 격 창고 와 일치 합 니 다.repo 1 을 제외 하고 느낌표 로 창 고 를 일치 에서 제외 합 니 다.
주의해 야 할 것 은 미 러 창고 가 미 러 창 고 를 완전히 차단 하기 때문에 미 러 창고 가 불안정 하거나 서 비 스 를 중단 할 때 도 Maven 은 미 러 창 고 를 방문 할 수 없 기 때문에 구조물 을 다운로드 할 수 없습니다.
예시
개인 적 인 maven 은 아 리 의 미 러 를 설정 하 였 으 며,프로젝트 에 서 는 제3자 jar 가방 을 사용 해 야 합 니 다.편리 하 게 도입 하기 위해 192.168.0.201 의 nexus 사복 에 올 랐 습 니 다.
그러나 개인 maven 아 리 의 미 러 는 기본 mirror Of 규칙=*을 사용 하기 때문에 모든 창고 가 미 러 되 어 더 이상 192.168.0.201 에 제3자 jar 가방 을 다운로드 하지 않 습 니 다.
업 로드 된 제3자 jar 패키지 대상 경로:
http://192.168.0.201:8081/nexus/content/groups/public/com/alipay/sdk-java/20170615110434/sdk-java-20170615110434.pom
미 러 후 경로:
http://maven.aliyun.com/nexus/content/groups/public/com/alipay/sdk-java/20170615110434/sdk-java-20170615110434.pom
따라서 기본적으로 미 러 에서 다운로드 되 지 않도록 미 러 의 mirror Of 규칙 을 수정 해 야 합 니 다.
maven conf/setting.xml

 <mirrors>
  <!--          ,    -->
 <mirror>
  <!--This sends everything else to /public -->
  <id>aliyun_nexus</id>
  <!--          ,      maven_nexus_201     -->
  <!--    maven_nexus_201      javamaven       repository-->
  <mirrorOf>*,!maven_nexus_201</mirrorOf> 
  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
 </mirror>
 </mirrors>
maven 프로젝트 의 pom.xml 원 격 창고 설정

<repositories>
  <!-- 192.168.0.201     -->
  <repository>
   <id>maven_nexus_201</id>
   <name>maven_nexus_201</name>
   <layout>default</layout>
   <url>http://192.168.0.201:8081/nexus/content/groups/public/</url>
   <snapshots> 
    <enabled>true</enabled> 
    </snapshots>
  </repository>
</repositories>
제3자 jar 가방 의존
설 치 된 nexus 개인 창고 에 로그 인 합 니 다.그림:

어떻게 웹 페이지 방식 을 통 해 jar 가방 을 nexus 에 전달 합 니까?
왼쪽 메뉴"Repositories"를 클릭 하고 오른쪽 목록"3rd party"를 선택 하 십시오.

어떻게 웹 페이지 방식 을 통 해 jar 가방 을 nexus 에 전달 합 니까?
"3rd party"를 클릭 하고 아 티 팩 트 업 로드 를 선택 하 십시오.다음 그림:

어떻게 웹 페이지 방식 을 통 해 jar 가방 을 nexus 에 전달 합 니까?
artifact Upload 인터페이스 에 GAV Parameter,groupId,artifactId,Version,Packaging 등 매개 변 수 를 표시 합 니 다.화면 은 그림 과 같 습 니 다.

어떻게 웹 페이지 방식 을 통 해 jar 가방 을 nexus 에 전달 합 니까?
위 매개 변 수 를 채 운 후 업로드 할 jar 패 키 지 를 선택 하고"add artifact"를 누 르 고 마지막 으로"save"저장 단 추 를 누 르 면 다음 그림 과 같 습 니 다.

어떻게 웹 페이지 방식 을 통 해 jar 가방 을 nexus 에 전달 합 니까?
maven 프로젝트 의 pom.xml 도입 의존

<dependency>
 <groupId>com.alipay</groupId>
 <artifactId>sdk-java</artifactId>
 <version>20170615110434</version>
</dependency>
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기