關(guān)于更換Maven國內(nèi)鏡像的經(jīng)驗(yàn)總結(jié)

最近需要編譯flink-1.9.0和flink-shaded椰拒,由于網(wǎng)上所給信息是玄妈,在編譯時(shí)需要在兩個(gè)工程內(nèi)設(shè)置非中央倉庫的官方鏡像源。對(duì)于更換Maven國內(nèi)鏡像有一定的經(jīng)驗(yàn)總結(jié)灵疮。本文以阿里云為例织阅,其他鏡像源——比如騰訊云——也是可以使用的。

今天需要編譯flink-1.9.0flink-shaded震捣,由于網(wǎng)上所給信息是,在編譯時(shí)需要在兩個(gè)工程內(nèi)設(shè)置非中央倉庫的官方鏡像源(flink-1.9.0已經(jīng)自帶):

<profile>
    <id>vendor-repos</id>
    <activation>
        <property>
            <name>vendor-repos</name>
        </property>
    </activation>
    <!-- Add vendor maven repositories -->
    <repositories>
        <!-- Cloudera -->
        <repository>
            <id>cloudera-releases</id>
            <url>https://repository.cloudera.com/artifactory/cloudera-repos</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
        <!-- Hortonworks -->
        <repository>
            <id>HDPReleases</id>
            <name>HDP Releases</name>
            <url>https://repo.hortonworks.com/content/repositories/releases/</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
            <releases>
                <enabled>true</enabled>
            </releases>
        </repository>
        <repository>
            <id>HortonworksJettyHadoop</id>
            <name>HDP Jetty</name>
            <url>https://repo.hortonworks.com/content/repositories/jetty-hadoop</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
            <releases>
                <enabled>true</enabled>
            </releases>
        </repository>
        <!-- MapR -->
        <repository>
            <id>mapr-releases</id>
            <url>https://repository.mapr.com/maven/</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
            <releases>
                <enabled>true</enabled>
            </releases>
        </repository>
    </repositories>
</profile>

由于Maven本身是連接的apache.org的中央倉庫鏡像源润樱,因此我在網(wǎng)上找到了阿里鏡像源進(jìn)行更換羡棵。其中教程一與二給的更換鏡像源XML配置如下:

<mirrors>
    <mirror>
        <id>aliyunmaven</id>
        <mirrorOf>*</mirrorOf>
        <name>阿里云公共倉庫</name>
        <url>https://maven.aliyun.com/repository/public</url>
    </mirror>
    <mirror>
        <id>aliyunmaven</id>
        <mirrorOf>*</mirrorOf>
        <name>阿里云谷歌倉庫</name>
        <url>https://maven.aliyun.com/repository/google</url>
    </mirror>
    <mirror>
        <id>aliyunmaven</id>
        <mirrorOf>*</mirrorOf>
        <name>阿里云阿帕奇?zhèn)}庫</name>
        <url>https://maven.aliyun.com/repository/apache-snapshots</url>
    </mirror>
    <mirror>
        <id>aliyunmaven</id>
        <mirrorOf>*</mirrorOf>
        <name>阿里云spring倉庫</name>
        <url>https://maven.aliyun.com/repository/spring</url>
    </mirror>
    <mirror>
        <id>aliyunmaven</id>
        <mirrorOf>*</mirrorOf>
        <name>阿里云spring插件倉庫</name>
        <url>https://maven.aliyun.com/repository/spring-plugin</url>
    </mirror>
</mirrors>

但是在更改后壹若,我發(fā)現(xiàn)編譯失敗,說是在阿里云倉庫找不到需要在我文章開頭設(shè)置的倉庫里找的包皂冰。但是我明明在工程的pom.xml里設(shè)置了四個(gè)非中央的官方倉庫了呀?

后來又搜了兩篇阿里云教程設(shè)置,我發(fā)現(xiàn)其XML配置為:

<mirrors>
    <mirror>
        <id>aliyunmaven</id>
        <mirrorOf>central</mirrorOf>
        <name>aliyun maven</name>
        <url>https://maven.aliyun.com/repository/public </url>
    </mirror>
</mirrors>

其中觉至,<mirrorOf>central</mirrorOf>同之前的倉庫設(shè)置是不一樣的剔应,之前是*,現(xiàn)在是central语御。據(jù)此峻贮,我分析,由于通配符的問題纤控,Maven全局的Settings.xml文件碉纺,將我工程內(nèi)pom.xml設(shè)置的四個(gè)非中央官方倉庫的設(shè)置給一并覆蓋了,導(dǎo)致失效骨田,從而無法讓工程從應(yīng)有的位置拉取依賴包,導(dǎo)致編譯失敗态贤。

經(jīng)過修改之后,flink-shaded工程目前編譯已正常通過悠汽。確認(rèn)是這個(gè)問題芥驳。因此我們可以知道的是:

  • 若設(shè)置了<mirrorOf>*</mirrorOf>這個(gè)標(biāo)簽茬高,則可能會(huì)導(dǎo)致工程內(nèi)pom.xml相應(yīng)設(shè)置的倉庫失效。全局設(shè)置覆蓋了工程設(shè)置爵憎。
  • 應(yīng)避免直接設(shè)置<mirrorOf>*</mirrorOf>這個(gè)標(biāo)簽婚瓜,而是設(shè)置指定倉庫例如<mirrorOf>central</mirrorOf>表示此為中央倉庫的代理。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末巴刻,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子沥寥,更是在濱河造成了極大的恐慌柠座,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,997評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件淮野,死亡現(xiàn)場(chǎng)離奇詭異吹泡,居然都是意外死亡骤星,警方通過查閱死者的電腦和手機(jī)爆哑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門揭朝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人潭袱,你說我怎么就攤上這事〉凶浚” “怎么了?”我有些...
    開封第一講書人閱讀 163,359評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵瘪吏,是天一觀的道長。 經(jīng)常有香客問我蕾盯,道長蓝丙,這世上最難降的妖魔是什么级遭? 我笑而不...
    開封第一講書人閱讀 58,309評(píng)論 1 292
  • 正文 為了忘掉前任挫鸽,我火速辦了婚禮鸥跟,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘医咨。我一直安慰自己,他們只是感情好拟淮,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評(píng)論 6 390
  • 文/花漫 我一把揭開白布很泊。 她就那樣靜靜地躺著,像睡著了一般撑蚌。 火紅的嫁衣襯著肌膚如雪搏屑。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,258評(píng)論 1 300
  • 那天亮垫,我揣著相機(jī)與錄音伟骨,去河邊找鬼饮潦。 笑死携狭,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播仅颇,決...
    沈念sama閱讀 40,122評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼碘举,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了耕皮?” 一聲冷哼從身側(cè)響起蝙场,我...
    開封第一講書人閱讀 38,970評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎李丰,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體舟舒,經(jīng)...
    沈念sama閱讀 45,403評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡嗜憔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了夺鲜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片呐舔。...
    茶點(diǎn)故事閱讀 39,769評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖珊拼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情仅胞,我是刑警寧澤剑辫,帶...
    沈念sama閱讀 35,464評(píng)論 5 344
  • 正文 年R本政府宣布,位于F島的核電站妹蔽,受9級(jí)特大地震影響挠将,放射性物質(zhì)發(fā)生泄漏盅视。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評(píng)論 3 327
  • 文/蒙蒙 一闹击、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧贺归,春花似錦断箫、人聲如沸拂酣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽赵颅。三九已至暂刘,卻和暖如春饺谬,著一層夾襖步出監(jiān)牢的瞬間谣拣,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評(píng)論 1 269
  • 我被黑心中介騙來泰國打工拔鹰, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留贵涵,地道東北人列肢。 一個(gè)月前我還...
    沈念sama閱讀 47,831評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像锣尉,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子自沧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評(píng)論 2 354