사립도서관과 공립도서관의 혼합이용 두 가지 방법
maven setting.xml 구성:
인터넷에 있는 많은 정보: https://www.cnblogs.com/hongmoshui/p/10762272.html
1. 넥서스프록시 공공도서관
넥서스가 개인 도서관을 구축하는 것도 매우 일반적이며 자세한 단계는 Baidu입니다.
개인 라이브러리가 있는 서버는 인터넷 머신이므로 setting.xml의 구성은 다음과 같을 수 있습니다.
<?xml version="1.0" encoding="UTF-8"?>
<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">
<localRepository>D:\repository</localRepository>
<servers>
<server>
<id>myServer</id>
<username>admin</username>
<password>123456</password>
</server>
</servers>
<mirrors>
<mirror>
<id>my</id>
<mirrorOf>*</mirrorOf>
<name>my Repository</name>
<url>http://localhost:8081/repository/maven-group/</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<repositories>
<repository>
<id>my</id>
<url>http://locahost:8081/repository/maven-public</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>dev</activeProfile>
</activeProfiles>
</settings>
모든 maven pull 요청은 위에 구성된 id로 채널을 mirrorOf
통과한 다음 종속 풀이 jar가 풀릴 때까지 혼합 라이브러리의 웨어하우스를 하나씩 풀링합니다(주로 여기의 값 ).mirror
meiya
mirrorOf
*
2. Setting.xml은 개인 및 공용 라이브러리를 구성합니다.
이 경우 Private Repository가 위치한 서버는 외부 네트워크에 접속할 수 없기 때문에 이때 Public Repository Agent를 구성하는 것은 의미가 없으나 개발 머신 자체는 인터넷에 접속할 수 있다.
이 경우 setting.xml 구성은 다음과 같을 수 있습니다.
<?xml version="1.0" encoding="UTF-8"?>
<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">
<localRepository>D:\repository</localRepository>
<!-- <offline>true</offline>-->
<servers>
<server>
<id>myServer</id>
<username>admin</username>
<password>123456</password>
</server>
</servers>
<mirrors>
<mirror>
<id>my</id>
<mirrorOf>my</mirrorOf>
<name>central repository</name>
<url>http://localhost:8081/repository/maven-public/</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>my</id>
<url>http://localhost:8081/repository/maven-public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
<!--默认节点,可以不配置,那么就会从maven中央仓库拉取-->
<profile>
<id>ali</id>
<repositories>
<repository>
<id>central</id>
<url>https://maven.aliyun.com/repository/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>nexus</activeProfile>
<activeProfile>ali</activeProfile>
</activeProfiles>
</settings>
이 방법은 추가 Alibaba Cloud 창고를 구성하는 것을 볼 수 있습니다.실제로 첫 번째 방법에 따라 구성할 수도 있으므로 다음은 몇 가지 지식 포인트입니다.
- 노드를 구성한 후
mirror
사용자 지정 미러에서 종속성을 가져옵니다. mirror
이동할 노드를 판단하는 방법은 다음과 같이 구성할 수 있는 id에 해당하는mirrorOf
속성을 기반으로 합니다.mirrorOf
repository
- 또한 기본 풀 상황이 있습니다. 기본 풀 구성의 전제는 개인 창고 미러가 그렇지 않은 경우
mirrorOf
모든*
요청이 노드로 이동하고*
기본 풀 상황이 없으므로 다음과 같습니다.- 노드 에서
mirrorOf
개인 창고의 id를 구성하면 개인 창고를 먼저 찾고, 개인 창고를 찾을 수 없으면 기본 maven 중앙 창고로 이동하여 찾습니다. - 위의 구성처럼
central
id로 창고를 구성하면 중앙 창고라는 의미로 기본적으로 이 노드가 사용되는데, 위에서 알리바바 클라우드의 창고를 구성했다면 기본적으로 이 창고를 사용하게 될 것이다.
- 노드 에서