欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Maven特殊pom.xml配置文件-BOM解讀

 更新時(shí)間:2025年05月31日 18:40:05   作者:weixin_45658815  
這篇文章主要介紹了Maven特殊pom.xml配置文件-BOM解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

特殊pom.xml配置文件 - BOM

僅用于集中管理項(xiàng)目依賴版本

在 Maven 中,BOM 用于定義一個(gè)項(xiàng)目的依賴版本的集合,通常用于管理一組共享的依賴版本。

這意味著你可以將一組依賴版本集中管理,避免在每個(gè)項(xiàng)目中單獨(dú)定義每個(gè)依賴的版本,從而確保多個(gè)模塊之間的版本一致性。

一、例子

<?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>org.kaishu</groupId>
    <artifactId>kaishu-dependencies</artifactId>
    <version>${revision}</version>
    <packaging>pom</packaging>

    <properties>
        <revision>2.0.0-snapshot</revision>
        <java.version>1.8</java.version>
        <maven.compiler.source>${java.version}</maven.compiler.source>
        <maven.compiler.target>${java.version}</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

	<!-- 只提供一個(gè)版本管理的基礎(chǔ),并不具體導(dǎo)入依賴。-->
    <dependencyManagement>
        <dependencies>
	       <dependency>
	           <groupId>org.springframework</groupId>
	           <artifactId>spring-core</artifactId>
	           <version>5.3.8</version>
	       </dependency>
	       <!-- 其他依賴 -->
        </dependencies>
    </dependencyManagement>
</project>

二、注意事項(xiàng)

1.特殊的子pom.xml文件

在項(xiàng)目中BOM的位置與一般子POM一致,并且你依然可將其當(dāng)做子POM通過(guò)< module >元素引入到父POM中,具體是否引入,主要取決于你是否需要通過(guò)父項(xiàng)目一鍵構(gòu)建所有模塊。但是BOM文件不可繼承父POM,即BOM文件中不可聲明< parent >元素,避免因繼承結(jié)構(gòu)導(dǎo)致循環(huán)依賴,即報(bào)錯(cuò):import form a cycle。

父POM中加入BOM依賴示例如下:

<?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>org.kaishu</groupId>
    <artifactId>springboot-labs</artifactId>
    <version>${revision}</version>
    <packaging>pom</packaging>
    <modules>
        <module>kaishu-dependencies</module>
    </modules>

    <properties>
        <revision>2.0.0-snapshot</revision>
        <java.version>1.8</java.version>
        <maven.compiler.source>${java.version}</maven.compiler.source>
        <maven.compiler.target>${java.version}</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.kaishu</groupId>
                <artifactId>kaishu-dependencies</artifactId>
                <version>${revision}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

</project>

2.dependencyManagement

dependencyManagement 元素只提供一個(gè)版本管理的基礎(chǔ),并不具體導(dǎo)入依賴。

可查看maven依賴樹(shù)發(fā)現(xiàn)kaishu-dependencies模塊和父模塊springboot-labs下是沒(méi)有對(duì)應(yīng)依賴的,而其他模塊則有具體的依賴。

3.packaging標(biāo)簽

對(duì)應(yīng)值有pomjar、war

pom適用場(chǎng)景:

  • 父項(xiàng)目(用于管理子模塊):如上述springboot-labs
  • 聚合器項(xiàng)目(只做模塊聚合,不產(chǎn)生任何代碼)
  • BOM 文件(管理依賴版本):如上述kaishu-dependencies

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • JavaMail實(shí)現(xiàn)簡(jiǎn)單郵件發(fā)送

    JavaMail實(shí)現(xiàn)簡(jiǎn)單郵件發(fā)送

    這篇文章主要為大家詳細(xì)介紹了JavaMail實(shí)現(xiàn)簡(jiǎn)單郵件發(fā)送,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • SpringBoot項(xiàng)目加載配置文件的6種方式小結(jié)

    SpringBoot項(xiàng)目加載配置文件的6種方式小結(jié)

    這篇文章給大家總結(jié)了六種SpringBoot項(xiàng)目加載配置文件的方式,通過(guò)@value注入,通過(guò)@ConfigurationProperties注入,通過(guò)框架自帶對(duì)象Environment實(shí)現(xiàn)屬性動(dòng)態(tài)注入,通過(guò)@PropertySource注解,yml外部文件,Java原生態(tài)方式注入這六種,需要的朋友可以參考下
    2023-09-09
  • SpringBoot鏈路追蹤skyworking的接入方法

    SpringBoot鏈路追蹤skyworking的接入方法

    在SpringBoot項(xiàng)目中引入SkyWalking進(jìn)行鏈路追蹤,需要下載探針jar包,配置logback.xml,設(shè)置啟動(dòng)變量,以實(shí)現(xiàn)服務(wù)調(diào)用監(jiān)控和錯(cuò)誤預(yù)警,本文給大家介紹SpringBoot鏈路追蹤skyworking的接入方法,感興趣的朋友一起看看吧
    2024-10-10
  • Java的jstack命令使用示例詳解

    Java的jstack命令使用示例詳解

    jstack 命令非常的簡(jiǎn)單,我們可以通過(guò) jstack -h 或者 jstack -help 命令查看它的用法詳情,今天通過(guò)本文重點(diǎn)給大家介紹Java的jstack命令使用,感興趣的朋友一起看看吧
    2022-03-03
  • Java?File類提供的方法與操作

    Java?File類提供的方法與操作

    Java使用File類來(lái)表示計(jì)算機(jī)系統(tǒng)磁盤文件的對(duì)象類型。File中提供了大量的方法,可以對(duì)文件進(jìn)行增加、刪除、修改、重命名等常規(guī)操作。File類的對(duì)象會(huì)存儲(chǔ)文件自身的信息,例如文件在系統(tǒng)中的存儲(chǔ)目錄、文件大小、文件讀寫權(quán)限等
    2023-03-03
  • idea設(shè)置在包里面在創(chuàng)建一個(gè)包方式

    idea設(shè)置在包里面在創(chuàng)建一個(gè)包方式

    這篇文章主要介紹了idea設(shè)置在包里面在創(chuàng)建一個(gè)包方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Eclipse的Debug調(diào)試技巧大全(總結(jié))

    Eclipse的Debug調(diào)試技巧大全(總結(jié))

    這篇文章主要介紹了Eclipse的Debug調(diào)試技巧大全(總結(jié)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • Java數(shù)組(Array)最全匯總(上篇)

    Java數(shù)組(Array)最全匯總(上篇)

    這篇文章主要介紹了Java數(shù)組(Array)最全匯總(上篇),本文章內(nèi)容詳細(xì),通過(guò)案例可以更好的理解數(shù)組的相關(guān)知識(shí),本模塊分為了三部分,本次為上篇,需要的朋友可以參考下
    2023-01-01
  • Java中的對(duì)象、類、抽象類、接口、繼承之間的聯(lián)系

    Java中的對(duì)象、類、抽象類、接口、繼承之間的聯(lián)系

    這篇文章主要介紹了Java中的對(duì)象、類、抽象類、接口、繼承之間的聯(lián)系,文章講解的很清晰,有不太懂的同學(xué)可以多研究下
    2021-02-02
  • springboot使用redisTemplate操作lua腳本

    springboot使用redisTemplate操作lua腳本

    本文主要介紹了springboot使用redisTemplate操作lua腳本,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08

最新評(píng)論