一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 深入講解Java Maven配置

深入講解Java Maven配置

2022-02-16 11:09fg714593653 Java教程

這篇文章主要介紹了Maven的安裝配置詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

由于maven 使用上手很容易所以很多時候可以囫圇吞棗能夠使用就可以了,由于作者最近在做的持續集成的代碼掃描的時候,發現私有云里面大型工程maven依賴,如果沒有弄清楚里面的配置復雜的項目很難在私有環境里面正常的編譯過。下面作者根據自己的經驗談談常用的配置的作用到底是什么。

 

首先說明maven配置都是那些配置

 

1. pom.xml 配置

pom.xml 配置主要分為兩類,一類是用于配置自己的實際依賴, 二類僅僅用于聲明一些版本和倉庫便于版本管理和發布。

在我們java工程里面有一個pom.xml 這里面主要配置工程的依賴庫,pom配置是可以被繼承的,如果是父級依賴一般是做版本控制以及指定私有倉庫的。如下圖: 下圖主要是展示父pom 主要作用是版本控制以及私有倉庫指定。

深入講解Java Maven配置

深入講解Java Maven配置

重點來了:

上圖repository的id的作用是啥(作者當時很是迷惑,可以亂寫那要id干啥),這個id實際會和maven settings.xml 的配置文件里面的mirrors 配置有關。

 

2. maven 的settings.xml

下面重點講一下settings的配置

深入講解Java Maven配置

如圖settings 主要有mirrors servers 和profiles 三部分組成。

 

a. mirrors

mirrors 主要作用是一個鏡像代理,便于內外網廠庫切換,或者單獨配置內網使用。

如果pom中的repository的id能和mirrorOf的值關聯上,那么url以mirror的為準,否則以repository中自己的url為準。

<mirror>
      <id>test-nexus</id>
      <mirrorOf>*</mirrorOf>
      <name>sugon local repository</name>
      <url>http://172.22.5.34:9996/repository/sugoncloud-public/</url>
    </mirror>

mirrorof 有三種值:

* 代表 所有倉庫請求都走這個配置的鏡像代理。

central 默認是maven 的倉庫,如果其它鏡像訪問不到(這里是服務訪問不到而不是沒有依賴包)。

其它: 比如test 、native-repo 這些關聯的是pom里面配置的私有倉庫id。

 

b. servers

servers 里面的配置 如下:

<server>
      <id>nexus-releases</id>  
      <username>deployment</username>  
      <password>deployment123</password>  
    </server>

這個配置的作用是它關聯pom里面配置私有倉庫的id, 在推送依賴包的使用根據id作認證的。

 

c. profiles

profiles 主要是配置全局私用倉庫。就不詳解了,和pom類似配置如下:

 <profile>
      <id>nexus-aliyun</id>
      <repositories>
        <repository>
          <id>public</id>
          <name>Public Repositories</name>
          <url>http://maven.aliyun.com/nexus/content/groups/public</url>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
          <releases>
            <enabled>true</enabled>
          </releases>
        </repository>
		</repositories>
      <pluginRepositories>
        <pluginRepository>
          <id>public</id>
          <name>Public Repositories</name>
          <url>http://maven.aliyun.com/nexus/content/groups/public</url>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
          <releases>
            <enabled>true</enabled>
          </releases>          
        </pluginRepository>
      </pluginRepositories>
    </profile>

補充一個最重要的: 由于上文說到的父pom(版本控制) 子工程依賴就是依賴的父pom文件而不是jar包 如果只配置mirrors 是不能拉取父pom文件的,如果需要拉取父pom文件那么需要配置repository。

最后敬上參考地址:

Maven settings.xml中私有倉庫配置淺析 - 簡書

 

總結

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注服務器之家的更多內容!

原文鏈接:https://blog.csdn.net/u011240463/article/details/120649098

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久精品99国产精品日本 | 成人性生交小说免费看 | 黑人巨大初黑人解禁作品 | 欧美成人影院免费观 | 农村妇女野外牲交一级毛片 | 亚洲国产成人久久精品hezyo | 亚洲一二三区视频 | 亚洲天堂99 | 久久99国产精品二区不卡 | 莫莉瑞典1977k| 日本免费全黄一级裸片视频 | 四虎国产成人免费观看 | 日日插插 | 亚洲国产情侣偷自在线二页 | 禁忌h1v1怀孕 | 成人亚洲精品一区 | porno18老师hd| 波多野 在线 | 香蕉在线播放 | 丝袜白浆 | 51国产| 4虎tv | 欧美一级专区免费大片俄罗斯 | 青草园网站在线观看 | 毛片网在线观看 | 成人影院www在线观看 | 免费网址在线观看入口推荐 | 国产一区二区三区在线观看视频 | 深夜影院深a | 国产永久一区二区三区 | 日本福利视频网站 | 狠狠色综合久久婷婷色天使 | 和老外3p爽粗大免费视频 | 久久人妻无码毛片A片麻豆 久久热这里只有 精品 | 99精品国产综合久久久久 | 喜马拉雅听书免费版 | 亚洲国产精品成人久久 | 好男人资源免费播放在线观看 | 97国产蝌蚪视频在线观看 | 四虎在线最新永久免费 | 99九九精品免费视频观看 |