公司都有自己的私服倉庫,配置之后可以提高下載速度,同時本公司自己項目的依賴都在私服倉庫里,有些東西是外界無法訪問的,僅僅是內部使用。
私服是一種特殊的遠程倉庫,它是架設在局域網內的倉庫服務,私服代理廣域網上的遠程倉庫,供局域網內的Maven用戶使用。當Maven需要下載構件的時候,它從私服請求,如果私服上不存在該構件,則從外部的遠程倉庫下載,緩存在私服上之后,再為Maven的下載請求提供服務。我們還可以把一些無法從外部倉庫下載到的構件上傳到私服上。
比如你們公司的私服倉庫地址是:http://nexus.company.com/repository/maven-public/
那么就在pom.xml里配置
<?xml version="1.0" encoding="UTF-8"?> <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <repositories> <repository> <id>nexus</id> <url>http://nexus.company.com/repository/maven-public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>nexus</id> <url>http://nexus.company.com/repository/maven-public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> </project>
情況二:比如我要與A公司對接,對方提供了maven坐標,可是你引入后報錯 找不到此依賴。那是因為你們的私服倉庫以及中央倉庫沒有人家的私有項目。那就要對方提供他們的倉庫地址,然后配置即可。
比如對方地址為:http://artifactory.other-company.com/artifactory/maven/
就要如下配置,也就是說,可以配置多個私服倉庫。
<?xml version="1.0" encoding="UTF-8"?> <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <repositories> <repository> <id>nexus</id> <url>http://nexus.company.com/repository/maven-public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> <repository> <id>nexus-other-company</id> <url>http://artifactory.other-company.com/artifactory/maven/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>nexus</id> <url>http://nexus.company.com/repository/maven-public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> <pluginRepository> <id>nexus-other-company</id> <url>http://artifactory.other-company.com/artifactory/maven/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> </project>
配置完你就可以正常引入別人的私有項目依賴了。