最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Maven項(xiàng)目繼承實(shí)現(xiàn)過(guò)程圖解

 更新時(shí)間:2020年08月05日 11:57:43   作者:護(hù)花使者  
這篇文章主要介紹了Maven項(xiàng)目繼承實(shí)現(xiàn)過(guò)程圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

多個(gè)maven項(xiàng)目之間難免有重復(fù)的pom配置,重復(fù)的配置沒(méi)必要重復(fù)寫,maven提供了父子繼承的關(guān)系,重復(fù)的依賴直接放在父項(xiàng)目的pom中。

所以不希望每個(gè)開(kāi)發(fā)者隨意定義maven版本依賴,可以在父項(xiàng)目中進(jìn)行說(shuō)明,然后子項(xiàng)目沿用即可。

idea創(chuàng)建父項(xiàng)目(這是一個(gè)父項(xiàng)目,也是一個(gè)空項(xiàng)目,只需要pom.xml,編寫相關(guān)的依賴, 父項(xiàng)目必須用pom打包的方式):

編輯父項(xiàng)目pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<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.linewell</groupId>
  <artifactId>maven-parent</artifactId>
  <version>1.0-SNAPSHOT</version>
  <!--父項(xiàng)目必須是pom-->
  <packaging>pom</packaging>

  <!--定義參數(shù)-->
  <properties>
    <common.version>2.6</common.version>
    <spring.version>4.3.6.RELEASE</spring.version>
  </properties>

  <!--這邊的依賴子項(xiàng)目會(huì)繼承-->
  <dependencies>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>${common.version}</version>
    </dependency>
  </dependencies>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>spring-context-support</groupId>
        <artifactId>org.springframework</artifactId>
        <version>${spring.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>
  
</project>

這邊需要說(shuō)明下,dependencyManagement,這邊的依賴不會(huì)被繼承,如果子項(xiàng)目導(dǎo)入了這個(gè)依賴,可以不用寫版本號(hào),會(huì)以父項(xiàng)目的為主,因?yàn)橛械淖禹?xiàng)目不一定會(huì)用父項(xiàng)目中的所有依賴。個(gè)別子項(xiàng)目依賴到的包可以放在這里,然后不需要寫版本號(hào),會(huì)自動(dòng)引用父項(xiàng)目。

創(chuàng)建一個(gè)子項(xiàng)目,編輯子項(xiàng)目的pom.xml如下:

<?xml version="1.0" encoding="UTF-8"?>
<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.linewell</groupId>
  <artifactId>maven-children</artifactId>
  <version>1.0-SNAPSHOT</version>

  <parent>
    <groupId>com.linewell</groupId>
    <artifactId>maven-parent</artifactId>
    <version>1.0-SNAPSHOT</version>
    <relativePath>../mavenparent/pom.xml</relativePath>
  </parent>

</project>

可以看到commons-io進(jìn)來(lái)了,spring-context-support沒(méi)進(jìn)來(lái)。

我現(xiàn)在不添加spring-context-support的版本,然后看下結(jié)果,是會(huì)以父項(xiàng)目的版本為主??梢钥吹饺缦乱氲囊彩歉疙?xiàng)目中的4.3.6

<?xml version="1.0" encoding="UTF-8"?>
<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>

  <parent>
    <groupId>com.linewell</groupId>
    <artifactId>maven-parent</artifactId>
    <version>1.0-SNAPSHOT</version>
    <relativePath>../mavenparent/pom.xml</relativePath>
  </parent>

  <groupId>com.linewell</groupId>
  <artifactId>maven-children</artifactId>
  <version>1.0-SNAPSHOT</version>

  <dependencies>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
    </dependency>
  </dependencies>
</project>

那么問(wèn)題來(lái)了,如果子項(xiàng)目指定了版本會(huì)怎么樣?

編輯子項(xiàng)目pom.xml, 如下可以發(fā)現(xiàn),如果子項(xiàng)目有明確指定依賴以及具體版本,與父項(xiàng)目發(fā)生沖突會(huì)以子項(xiàng)目的依賴為準(zhǔn)。

<?xml version="1.0" encoding="UTF-8"?>
<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>

  <parent>
    <groupId>com.linewell</groupId>
    <artifactId>maven-parent</artifactId>
    <version>1.0-SNAPSHOT</version>
    <relativePath>../mavenparent/pom.xml</relativePath>
  </parent>

  <groupId>com.linewell</groupId>
  <artifactId>maven-children</artifactId>
  <version>1.0-SNAPSHOT</version>

  <dependencies>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>2.5</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
      <version>5.2.5.RELEASE</version>
    </dependency>
  </dependencies>

</project>

ps:如果父項(xiàng)目中執(zhí)行了mvn install安裝到了本地倉(cāng)庫(kù),然后子項(xiàng)目中引入父GAV的時(shí)候可以不用寫路徑relativePath屬性。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 從零開(kāi)始學(xué)springboot整合feign跨服務(wù)調(diào)用的方法

    從零開(kāi)始學(xué)springboot整合feign跨服務(wù)調(diào)用的方法

    這篇文章主要介紹了從零開(kāi)始學(xué)springboot整合feign跨服務(wù)調(diào)用的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • SpringBoot利用redis集成消息隊(duì)列的方法

    SpringBoot利用redis集成消息隊(duì)列的方法

    這篇文章主要介紹了SpringBoot利用redis集成消息隊(duì)列的方法,需要的朋友可以參考下
    2017-08-08
  • java使用xpath和dom4j解析xml

    java使用xpath和dom4j解析xml

    XPath是一門在XML文檔中查找信息的語(yǔ)言,下面介紹一下java使用xpath和dom4j解析xml的示例,大家參考使用吧
    2014-01-01
  • vscode搭建java開(kāi)發(fā)環(huán)境的實(shí)現(xiàn)步驟

    vscode搭建java開(kāi)發(fā)環(huán)境的實(shí)現(xiàn)步驟

    本文主要介紹了vscode搭建java開(kāi)發(fā)環(huán)境,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Spring BeanPostProcessor接口使用詳解

    Spring BeanPostProcessor接口使用詳解

    本篇文章主要介紹了Spring BeanPostProcessor接口使用詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • 深入講解RocketMQ原理

    深入講解RocketMQ原理

    這篇文章主要介紹了詳解SpringBoot整合RocketMQ,RocketMQ作為一款純java、分布式、隊(duì)列模型的開(kāi)源消息中間件,支持事務(wù)消息、順序消息、批量消息、定時(shí)消息、消息回溯等,需要的朋友可以參考下
    2023-07-07
  • java 文件大數(shù)據(jù)Excel下載實(shí)例代碼

    java 文件大數(shù)據(jù)Excel下載實(shí)例代碼

    這篇文章主要介紹了java 文件大數(shù)據(jù)Excel下載實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • 使用dynamic datasource springboot starter實(shí)現(xiàn)多數(shù)據(jù)源及源碼分析

    使用dynamic datasource springboot starter實(shí)現(xiàn)多數(shù)據(jù)源及源碼分析

    這篇文章主要介紹了使用dynamic-datasource-spring-boot-starter做多數(shù)據(jù)源及源碼分析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • java io讀取文件操作代碼實(shí)例

    java io讀取文件操作代碼實(shí)例

    這篇文章主要介紹了java io讀取文件操作代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • 淺析Java多線程同步synchronized

    淺析Java多線程同步synchronized

    本篇文章給大家詳細(xì)分析了Java多線程同步synchronized的相關(guān)知識(shí)點(diǎn),需要的讀者們可以參考學(xué)習(xí)下。
    2018-02-02

最新評(píng)論

柘城县| 平南县| 交口县| 新疆| 济南市| 绥化市| 廉江市| 浦县| 舒城县| 高雄县| 子长县| 宁蒗| 台江县| 宜丰县| 独山县| 广昌县| 新邵县| 洞头县| 麻栗坡县| 巨野县| 同德县| 广宁县| 门源| 鱼台县| 永修县| 河曲县| 开阳县| 佛教| 即墨市| 济阳县| 乐昌市| 正蓝旗| 通辽市| 三门县| 青田县| 平泉县| 礼泉县| 兰坪| 杭锦旗| 神池县| 黄山市|