當構建一個Maven項目時,首先檢查pom.xml文件以肯定依賴包的下載位置,執行順序以下:html
一、從本地資源庫中查找並得到依賴包,若是沒有,執行第2步。java
二、從Maven默認中央倉庫中查找並得到依賴包(http://repo1.maven.org/maven2/),若是沒有,執行第3步。spring
三、若是在pom.xml中定義了自定義的遠程倉庫,那麼也會在這裏的倉庫中進行查找並得到依賴包,若是都沒有找到,那麼Maven就會拋出異常。apache
默認中央倉庫的地址:eclipse
一、http://repo1.maven.org/maven2/maven
二、以上地址還配有搜索頁面:http://search.maven.org/spring-boot
三、若是想要向中央倉庫提交本身的依賴包,能夠很確定的告訴你,此功能能夠實現;參考:http://www.cnblogs.com/EasonJim/p/6671419.htmlui
在國內訪問Maven倉庫,鏈接速度太慢。下面是將中央倉庫替換成阿里雲的中央倉庫的方法。阿里雲
能夠直接修改Mavenconf文件夾中的setting.xml文件,或者在.m2文件夾下創建一個setting·xml文件。url
setting.xml裏面有個mirrors節點,用來配置鏡像URL。mirrors能夠配置多個mirror,每一個mirror有id,name,url,mirrorOf屬性。
mirror也不是按settings.xml中寫的那樣的順序來查詢的。所謂的第一個並不必定是最上面的那個。
當有id爲B,A,C的順序的mirror在mirrors節點中,maven會根據字母排序來指定第一個,因此無論怎麼排列,必定會找到A這個mirror來進行查找,當A沒法鏈接,出現意外的狀況下,纔會去B查詢。
在setting·xml中添加以下代碼:
... <mirrors> ... <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors>
直接在項目的pom.xml中修改中央庫的地址。以下:
<repositories> <repository> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> </repository> </repositories>
完整的pom:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.xiaolyuh</groupId> <artifactId>spring-boot-student</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>pom</packaging> <name>spring-boot-student</name> <!-- 添加Spring Boot的父類依賴,這樣當前項目就是Spring Boot項目了。 spring-boot-starter-parent是一個特殊的starter,他用來 提供相關的maven默認依賴, 使用它以後,經常使用的依賴能夠省去version標籤 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.3.RELEASE</version> <relativePath /> <!-- lookup parent from repository --> </parent> <repositories> <repository> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> </repository> </repositories> <!-- 或者在maven的setting文件中加入 --> <!--<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror>--> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> <modules> <module>spring-boot-student-banner</module> </modules> </project>
補充:設置咱們第三方jar包的下載地址爲私服地址的方法(若是私服倉庫不存在jar包就會從私服的代理鏡像下載地址並保存到私服倉庫)
若是你想講jar包下載改成從私服下載也是修改這裏,前提是先搭建好私服,而後從後臺設置私服倉庫的遠程地址爲阿里雲的鏡像地址便可:
(1)在私服的後臺設置倉庫的鏡像地址(用於私服不存在時候從該地址下載)
(2)修改maven的settings.xml的配置文件:配置下載地址
<mirrors> <mirror> <id>nexus</id> <name>internal nexus repository</name> <mirrorOf>*</mirrorOf> <url>http://localhost:8081/nexus/content/repositories/central/</url> </mirror> </mirrors>
(3)咱們在eclipse也能夠查看默認使用的下載地址:
(4)當咱們引入一個不存在的jar包的時候會先下載到私服的倉庫地址,而後下載到本地的倉庫地址,以下:
若是maven項目下載不下來jar包先檢查一下下載地址,eclipse中很好檢查,用上面(3)就能夠檢查地址,若是實在不行,將私服地址注掉便可,就留下一個阿里雲的中央倉庫地址。