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

Maven高頻配置錯誤總結與解決方案

 更新時間:2026年03月11日 09:24:09   作者:蒙眼過河  
在日常 Java 開發(fā)中,Maven 幾乎是標配構建工具,但很多人在寫 pom.xml、搭建多模塊項目、處理依賴時,總會遇到各種莫名其妙的報錯,本文把最常見、最容易踩坑的 Maven 配置問題整理成一篇完整文章,需要的朋友可以參考下

在日常 Java 開發(fā)中,Maven 幾乎是標配構建工具,但很多人在寫 pom.xml、搭建多模塊項目、處理依賴時,總會遇到各種莫名其妙的報錯。
本文把最常見、最容易踩坑的 Maven 配置問題整理成一篇完整博客,包含:問題現(xiàn)象、原因、解決方案、示例代碼,方便以后直接查閱。

一、前言

除了之前遇到的:

'parent.relativePath' points at no local POM

這類父模塊路徑問題,Maven 還有大量高頻配置坑:GAV 坐標、依賴沖突、scope 誤用、插件版本、倉庫配置、多模塊繼承等。
本文一次性講清楚,讓你以后遇到 Maven 問題不再迷茫。

二、POM 基礎配置錯誤

1. GAV 坐標不完整 / 沖突

問題表現(xiàn):

  • 編譯報錯:artifactId is missing、version is missing
  • 多模塊項目子模塊找不到父模塊配置

原因:
Maven 三大坐標 groupId:artifactId:version 缺一不可。
子模塊如果不寫版本,必須從父模塊繼承,否則無法識別。

正確寫法:
父 pom.xml

<groupId>com.example</groupId>
<artifactId>parent</artifactId>
<version>1.0.0</version>
<packaging>pom</packaging>

子 pom.xml

<parent>
    <groupId>com.example</groupId>
    <artifactId>parent</artifactId>
    <version>1.0.0</version>
    <relativePath>../</relativePath>
</parent>
<artifactId>child</artifactId>

2. packaging 打包方式錯誤

問題表現(xiàn):

  • 多模塊項目構建失敗
  • 打包不出 jar/war
  • SpringBoot 項目無法運行

常見錯誤:

  • 父項目沒寫 <packaging>pom</packaging>
  • web 項目寫成 jar,普通項目寫成 war

正確配置:

  • 父模塊:pom
  • 普通 Java:jar(默認)
  • Web 項目:war
  • SpringBoot:jarwar + 打包插件

三、依賴配置錯誤(運行時坑最多)

1. 依賴版本沖突

問題表現(xiàn):

  • 運行時報:NoSuchMethodError
  • ClassNotFoundException
  • 類、方法找不到,但明明引入了包

原因:
傳遞依賴帶來多個版本,Maven 按最短路徑選擇,導致版本覆蓋。

解決步驟:

  1. 查看依賴樹
mvn dependency:tree
  1. 排除沖突版本
<exclusions>
    <exclusion>
        <groupId>xxx</groupId>
        <artifactId>yyy</artifactId>
    </exclusion>
</exclusions>
  1. 手動指定統(tǒng)一版本

2. scope 依賴范圍濫用

問題表現(xiàn):

  • 編譯正常,運行缺包
  • 測試代碼能跑,正式包報錯
  • 包體積異常大

scope 說明:

  • compile:默認,編譯運行都有效
  • test:只在測試有效
  • provided:編譯有效,運行由容器提供(不打包)
  • runtime:運行時有效

典型錯誤:

  • 把 Servlet API 寫成默認 scope → 包沖突
  • 把 JUnit 寫成 compile → 打進生產(chǎn)包

3. 傳遞依賴失效 / 依賴缺失

現(xiàn)象:

  • 明明引入了依賴,仍然提示找不到類
  • dependency:tree 里看不到該 jar

原因:

  • 被其他依賴排除
  • 依賴本身是接口包,需要手動加實現(xiàn)包

解決:

  • 檢查排除配置
  • 手動補全依賴
  • 清理本地倉庫重新下載

四、構建插件 & 倉庫錯誤

1. 插件未指定版本 / JDK 版本不匹配

現(xiàn)象:

invalid target release: 17

原因:

  • maven-compiler-plugin 版本太低
  • 沒指定 source、target

正確配置:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.11.0</version>
    <configuration>
        <source>17</source>
        <target>17</target>
        <encoding>UTF-8</encoding>
    </configuration>
</plugin>

2. 倉庫 / 鏡像配置錯誤

現(xiàn)象:

  • 依賴下載失敗
  • 公司私 服拉不下來
  • 速度極慢

解決:
配置阿里云鏡像:

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

五、多模塊項目常見錯誤

1. 循環(huán)依賴

現(xiàn)象:

Circular dependency

解決:

  • 抽公共模塊
  • 不要 A 依賴 B,B 又依賴 A

2. 子模塊不繼承父模塊版本

原因:

  • 父類用了 <dependencies> 而不是 <dependencyManagement>
  • 插件寫在 <plugins> 而不是 <pluginManagement>

正確結構:

  • 父:dependencyManagement 統(tǒng)一版本
  • 子:只寫 groupId + artifactId,不寫 version

六、Maven 排查萬能命令

遇到問題直接按順序執(zhí)行:

mvn clean compile -X        # 調(diào)試模式,看詳細日志
mvn dependency:tree         # 查看依賴樹
mvn help:effective-pom      # 查看最終生效pom

七、總結

90% 的 Maven 問題都來自這幾類:

  1. parent 路徑、GAV、packaging 基礎配置錯誤
  2. 依賴沖突、scope 用錯、依賴缺失
  3. 插件版本、JDK 版本、倉庫鏡像
  4. 多模塊循環(huán)依賴、繼承管理

以上就是Maven高頻配置錯誤總結與解決方案的詳細內(nèi)容,更多關于Maven高頻配置錯誤的資料請關注腳本之家其它相關文章!

相關文章

  • mybatis如何根據(jù)表逆向自動化生成代碼實例

    mybatis如何根據(jù)表逆向自動化生成代碼實例

    逆向工程是一個專門為 MyBatis 框架使用者設計的代碼生成器,可以根據(jù)數(shù)據(jù)庫中的表字段名,自動生成 POJO 類,mapper 接口與 SQL 映射文件,這篇文章主要給大家介紹了關于mybatis如何根據(jù)表逆向自動化生成代碼的相關資料,需要的朋友可以參考下
    2021-08-08
  • SpringBoot優(yōu)雅的進行全局異常處理的實現(xiàn)步驟

    SpringBoot優(yōu)雅的進行全局異常處理的實現(xiàn)步驟

    在軟件開發(fā)的世界里,異常處理是保證系統(tǒng)穩(wěn)定性和用戶體驗的關鍵因素之一,尤其是在構建基于微服務架構的應用時,SpringBoot提供了一套強大的工具來幫助開發(fā)者管理這些異常,所以本文給大家介紹了SpringBoot如何優(yōu)雅的進行全局異常處理,需要的朋友可以參考下
    2025-02-02
  • Java內(nèi)存泄漏早期排查流程(未觸發(fā)頻繁Full GC前)

    Java內(nèi)存泄漏早期排查流程(未觸發(fā)頻繁Full GC前)

    內(nèi)存泄漏早期最典型特征:老年代/堆內(nèi)存呈緩慢、持續(xù)、不可逆的上漲,但還沒嚴重到頻繁Full GC、OOM,本文給大家介紹了一套生產(chǎn)環(huán)境可直接落地的排查流程,從簡單到深入,不影響業(yè)務,需要的朋友可以參考下
    2026-06-06
  • SpringBatch數(shù)據(jù)寫入實現(xiàn)

    SpringBatch數(shù)據(jù)寫入實現(xiàn)

    Spring Batch通過ItemWriter接口及其豐富的實現(xiàn),提供了強大的數(shù)據(jù)寫入能力,本文主要介紹了SpringBatch數(shù)據(jù)寫入實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2025-04-04
  • Java實現(xiàn)文件變化監(jiān)聽代碼實例

    Java實現(xiàn)文件變化監(jiān)聽代碼實例

    這篇文章主要介紹了Java實現(xiàn)文件變化監(jiān)聽代碼實例,通過定時任務,輪訓查詢文件的最后修改時間,與上一次進行對比,如果發(fā)生變化,則說明文件已經(jīng)修改,進行重新加載或對應的業(yè)務邏輯處理,需要的朋友可以參考下
    2024-01-01
  • Java實現(xiàn)HTML轉為Word的示例代碼

    Java實現(xiàn)HTML轉為Word的示例代碼

    本文以Java代碼為例為大家詳細介紹如何實現(xiàn)將HTML文件轉為Word文檔(.docx、.doc)。在實際開發(fā)場景中可參考此方法來轉換,感興趣的可以了解一下
    2022-06-06
  • java8 集合求差集、并集、交集的實例

    java8 集合求差集、并集、交集的實例

    下面小編就為大家分享一篇java8 集合求差集、并集、交集的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • 詳解Java編程中統(tǒng)一資源定位符URL的相關使用

    詳解Java編程中統(tǒng)一資源定位符URL的相關使用

    這篇文章主要介紹了Java編程中統(tǒng)一資源定位符URL的相關使用,是Java網(wǎng)絡編程中的基礎知識,需要的朋友可以參考下
    2015-10-10
  • Java 緩沖區(qū)優(yōu)化實現(xiàn)思路

    Java 緩沖區(qū)優(yōu)化實現(xiàn)思路

    本文詳細介紹了Java中的緩沖區(qū)(Buffer)概念、設計思想、分類、使用場景和注意事項,強調(diào)了緩沖區(qū)通過批量處理減少頻繁I/O或數(shù)據(jù)拷貝,優(yōu)化生產(chǎn)者-消費者速度差異問題,提升性能的核心價值,感興趣的朋友跟隨小編一起看看吧
    2025-12-12
  • 詳解SpringBoot基于Dubbo和Seata的分布式事務解決方案

    詳解SpringBoot基于Dubbo和Seata的分布式事務解決方案

    這篇文章主要介紹了詳解SpringBoot基于Dubbo和Seata的分布式事務解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10

最新評論

佛坪县| 双辽市| 红原县| 寿宁县| 崇信县| 吉安县| 上杭县| 方城县| 霍邱县| 郧西县| 闸北区| 衢州市| 赤城县| 博客| 启东市| 顺平县| 福建省| 沙田区| 昌江| 巴里| 丰县| 泸西县| 汝城县| 仙桃市| 三台县| 张掖市| 金沙县| 涟水县| 新田县| 和田县| 安福县| 会同县| 孝义市| 东至县| 延川县| 漠河县| 淳化县| 凤翔县| 大厂| 高唐县| 灵台县|