Maven阿里云與本地倉庫配置

本篇目錄

1、阿里云中央倉庫配置的原因
2潮针、阿里云中央倉庫配置的兩種方法
3塘匣、第一次從中央倉庫中下載jar包到本地倉庫
3.1創(chuàng)建父工程parent project
3.2編譯
3.3創(chuàng)建子工程common



1净当、阿里云中央倉庫配置的原因

在pom.xml文件里配置了一些依賴,如下圖


1.png

但因?yàn)槟J(rèn)的Maven倉庫是在國外祈坠,引入這些依賴的時(shí)候,可能速度非常慢矢劲,于是阿里云做了一個(gè)中央倉庫赦拘,把Maven倉庫里的所有jar包復(fù)制過來,從阿里云倉庫中引入依賴就變得很輕松了芬沉。

我打個(gè)比方:
pom.xml文件是個(gè)購物清單躺同,里面可以列出諸如spring.jar、junit.jar丸逸。蹋艺。。等依賴(商品)椭员,默認(rèn)情況下這些jar包都是從國外的Maven倉庫(商店)里引入(購買)车海,你想想,從國外到國內(nèi)隘击,運(yùn)輸是不是比較困難侍芝,是不是還要過海關(guān),這都要花時(shí)間啊埋同。于是國內(nèi)的阿里云也做了個(gè)倉庫(商店)州叠,倉庫中放了Maven倉庫里所有的jar包(商品),一模一樣的凶赁,這樣我們就可以直接從阿里云倉庫中引入依賴(購買商品)咧栗。這個(gè)也叫鏡像逆甜。


2、阿里云中央倉庫配置的兩種方法

1致板、修改maven根目錄下的conf文件夾中的setting.xml文件交煞,內(nèi)容如下:

    <mirrors>  
      <mirror>  
        <id>alimaven</id>  
        <name>aliyun maven</name>  
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
        <mirrorOf>central</mirrorOf>          
      </mirror>  
    </mirrors>  

2、在pom.xml中直接添加

<repositories><!-- 代碼庫 -->
        <repository>
            <id>maven-ali</id>
            <url>http://maven.aliyun.com/nexus/content/groups/public//</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
                <updatePolicy>always</updatePolicy>
                <checksumPolicy>fail</checksumPolicy>
            </snapshots>
        </repository>
    </repositories>
2.png

3斟或、第一次從中央倉庫中下載jar包到本地倉庫

3.1創(chuàng)建父工程 parent project

在File》new》other》Maven》maven project》next》素征,創(chuàng)建一個(gè)maven project父工程,Packaging選項(xiàng)為pom萝挤。在pom.xml文件中加入以下依賴:

<!-- Maven阿里云中央倉庫 -->
    <repositories><!-- 代碼庫 -->
        <repository>
            <id>maven-ali</id>
            <url>http://maven.aliyun.com/nexus/content/groups/public//</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
                <updatePolicy>always</updatePolicy>
                <checksumPolicy>fail</checksumPolicy>
            </snapshots>
        </repository>
    </repositories>

    <!-- 集中定義依賴版本號(hào) -->
    <properties>
        <junit.version>4.12</junit.version>
        <spring.version>4.2.4.RELEASE</spring.version>
        <mybatis.version>3.2.8</mybatis.version>
        <mybatis.spring.version>1.2.2</mybatis.spring.version>
        <mybatis.paginator.version>1.2.15</mybatis.paginator.version>
        <mysql.version>5.1.32</mysql.version>
        <slf4j.version>1.6.4</slf4j.version>
        <jackson.version>2.4.2</jackson.version>
        <druid.version>1.0.9</druid.version>
        <httpclient.version>4.3.5</httpclient.version>
        <jstl.version>1.2</jstl.version>
        <servlet-api.version>2.5</servlet-api.version>
        <jsp-api.version>2.0</jsp-api.version>
        <joda-time.version>2.5</joda-time.version>
        <commons-lang3.version>3.3.2</commons-lang3.version>
        <commons-io.version>1.3.2</commons-io.version>
        <commons-net.version>3.3</commons-net.version>
        <pagehelper.version>3.4.2</pagehelper.version>
        <jsqlparser.version>0.9.1</jsqlparser.version>
        <commons-fileupload.version>1.3.1</commons-fileupload.version>
        <jedis.version>2.7.2</jedis.version>
        <solrj.version>4.10.3</solrj.version>
        <dubbo.version>2.5.3</dubbo.version>
        <zookeeper.version>3.4.7</zookeeper.version>
        <zkclient.version>0.1</zkclient.version>
        <activemq.version>5.11.2</activemq.version>
        <freemarker.version>2.3.23</freemarker.version>
        <quartz.version>2.2.2</quartz.version>
    </properties>
    <dependencyManagement>
        <dependencies>
            <!-- 時(shí)間操作組件 -->
            <dependency>
                <groupId>joda-time</groupId>
                <artifactId>joda-time</artifactId>
                <version>${joda-time.version}</version>
            </dependency>
            <!-- Apache工具組件 -->
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>${commons-lang3.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-io</artifactId>
                <version>${commons-io.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-net</groupId>
                <artifactId>commons-net</artifactId>
                <version>${commons-net.version}</version>
            </dependency>
            <!-- Jackson Json處理工具包 -->
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <!-- httpclient -->
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${httpclient.version}</version>
            </dependency>
            <!-- quartz任務(wù)調(diào)度框架 -->
            <dependency>
                <groupId>org.quartz-scheduler</groupId>
                <artifactId>quartz</artifactId>
                <version>${quartz.version}</version>
            </dependency>
            <!-- 單元測(cè)試 -->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
                <scope>test</scope>
            </dependency>
            <!-- 日志處理 -->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <!-- Mybatis -->
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>${mybatis.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis-spring</artifactId>
                <version>${mybatis.spring.version}</version>
            </dependency>
            <dependency>
                <groupId>com.github.miemiedev</groupId>
                <artifactId>mybatis-paginator</artifactId>
                <version>${mybatis.paginator.version}</version>
            </dependency>
            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper</artifactId>
                <version>${pagehelper.version}</version>
            </dependency>
            <!-- MySql -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql.version}</version>
            </dependency>
            <!-- 連接池 -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>${druid.version}</version>
            </dependency>
            <!-- Spring -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-beans</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jdbc</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-aspects</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jms</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context-support</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <!-- JSP相關(guān) -->
            <dependency>
                <groupId>jstl</groupId>
                <artifactId>jstl</artifactId>
                <version>${jstl.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
                <version>${servlet-api.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>jsp-api</artifactId>
                <version>${jsp-api.version}</version>
                <scope>provided</scope>
            </dependency>
            <!-- 文件上傳組件 -->
            <dependency>
                <groupId>commons-fileupload</groupId>
                <artifactId>commons-fileupload</artifactId>
                <version>${commons-fileupload.version}</version>
            </dependency>
            <!-- Redis客戶端 -->
            <dependency>
                <groupId>redis.clients</groupId>
                <artifactId>jedis</artifactId>
                <version>${jedis.version}</version>
            </dependency>
            <!-- solr客戶端 -->
            <dependency>
                <groupId>org.apache.solr</groupId>
                <artifactId>solr-solrj</artifactId>
                <version>${solrj.version}</version>
            </dependency>
            <!-- dubbo相關(guān) -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>dubbo</artifactId>
                <version>${dubbo.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.zookeeper</groupId>
                <artifactId>zookeeper</artifactId>
                <version>${zookeeper.version}</version>
            </dependency>
            <dependency>
                <groupId>com.github.sgroschupf</groupId>
                <artifactId>zkclient</artifactId>
                <version>${zkclient.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.activemq</groupId>
                <artifactId>activemq-all</artifactId>
                <version>${activemq.version}</version>
            </dependency>
            <dependency>
                <groupId>org.freemarker</groupId>
                <artifactId>freemarker</artifactId>
                <version>${freemarker.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <build>
        <finalName>${project.artifactId}</finalName>
        <plugins>
            <!-- 資源文件拷貝插件 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.7</version>
                <configuration>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <!-- java編譯插件 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.2</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
        <pluginManagement>
            <plugins>
                <!-- 配置Tomcat插件 -->
                <plugin>
                    <groupId>org.apache.tomcat.maven</groupId>
                    <artifactId>tomcat7-maven-plugin</artifactId>
                    <version>2.2</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

這些都不是實(shí)際依賴御毅,只是定義依賴和管理依賴版本。

3.2怜珍、編譯

在cmd中輸入
d:
cd D:\javaeeworkspace\taotao-parent
切換路徑到上面創(chuàng)建的父工程端蛆,進(jìn)行mvn compile,mvn clean酥泛,操作今豆,build success說明成功。但是在本地倉庫只多加了一個(gè)org文件夾柔袁,其他所有jar包并不會(huì)下載晚凿。如下圖


3.png

3.3、創(chuàng)建一個(gè)maven project子工程

在File》new》other》Maven》maven project》next》瘦馍,創(chuàng)建一個(gè)maven project子工程歼秽,比如叫common,Packaging選項(xiàng)為jar情组,并且繼承上面創(chuàng)建的父工程parent project燥筷。在pom.xml文件中添加如下代碼:

<!-- 實(shí)際依賴,從父工程中的pom.xml文件復(fù)制過來的 -->
    <dependencies>
        <!-- 時(shí)間操作組件 -->
        <dependency>
            <groupId>joda-time</groupId>
            <artifactId>joda-time</artifactId>
        </dependency>
        <!-- Apache工具組件 -->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-io</artifactId>
        </dependency>
        <dependency>
            <groupId>commons-net</groupId>
            <artifactId>commons-net</artifactId>
        </dependency>
        <!-- Jackson Json處理工具包 -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </dependency>
        <!-- httpclient -->
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
        </dependency>
        <!-- quartz任務(wù)調(diào)度框架 -->
        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
        </dependency>
        <!-- 單元測(cè)試 -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
        </dependency>
        <!-- 日志處理 -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
        </dependency>
    </dependencies>

稍等一下院崇,在子工程common中出現(xiàn)包含jar包的Maven Dependencies肆氓,并且也會(huì)出現(xiàn)在本地倉庫。如下圖


4.png

5.png

以后就直接從本地倉庫中引入依賴底瓣。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末谢揪,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子捐凭,更是在濱河造成了極大的恐慌拨扶,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件茁肠,死亡現(xiàn)場(chǎng)離奇詭異患民,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)垦梆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門匹颤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來仅孩,“玉大人,你說我怎么就攤上這事印蓖×赡剑” “怎么了?”我有些...
    開封第一講書人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵赦肃,是天一觀的道長(zhǎng)鼻百。 經(jīng)常有香客問我,道長(zhǎng)摆尝,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任因悲,我火速辦了婚禮堕汞,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘晃琳。我一直安慰自己讯检,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開白布卫旱。 她就那樣靜靜地躺著人灼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪顾翼。 梳的紋絲不亂的頭發(fā)上投放,一...
    開封第一講書人閱讀 51,688評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音适贸,去河邊找鬼灸芳。 笑死,一個(gè)胖子當(dāng)著我的面吹牛拜姿,可吹牛的內(nèi)容都是我干的烙样。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼蕊肥,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼谒获!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起壁却,我...
    開封第一講書人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤批狱,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后展东,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體精耐,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年琅锻,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了卦停。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片向胡。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖惊完,靈堂內(nèi)的尸體忽然破棺而出僵芹,到底是詐尸還是另有隱情,我是刑警寧澤小槐,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布拇派,位于F島的核電站,受9級(jí)特大地震影響凿跳,放射性物質(zhì)發(fā)生泄漏件豌。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一控嗜、第九天 我趴在偏房一處隱蔽的房頂上張望茧彤。 院中可真熱鬧,春花似錦疆栏、人聲如沸曾掂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽珠洗。三九已至,卻和暖如春若专,著一層夾襖步出監(jiān)牢的瞬間许蓖,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來泰國打工调衰, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蛔糯,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓窖式,卻偏偏與公主長(zhǎng)得像蚁飒,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子萝喘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,822評(píng)論 6 342
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理淮逻,服務(wù)發(fā)現(xiàn),斷路器阁簸,智...
    卡卡羅2017閱讀 134,659評(píng)論 18 139
  • |-1-更新內(nèi)容[6.從倉庫解析依賴的機(jī)制(重要)] 1Maven倉庫作用 倉庫用來存儲(chǔ)所有項(xiàng)目使用到構(gòu)件爬早,在ma...
    zlcook閱讀 6,063評(píng)論 0 25
  • 當(dāng)前饶米,JVM生態(tài)圈主要的三大構(gòu)建工具: Apache Ant(帶著Ivy) Maven Gradle 對(duì)于剛開始接...
    清楓_小天閱讀 5,798評(píng)論 1 13
  • 今天推薦的《從0到1》這本書,是一本指導(dǎo)大企業(yè)不斷改進(jìn)提升的重要手冊(cè)照瘾,也是新創(chuàng)企業(yè)家們的心法秘籍匈棘。下面簡(jiǎn)單介紹本書...
    西子鋒哥閱讀 1,841評(píng)論 0 3