【maven】 dependencies.dependency.version is missing

一、場景

在打包項目時,發現有一個maven提示:

The artifact org.apache.commons:commons-io:jar:1.3.2 has been relocated to commons-io:commons-io:jar

查資料發現, commons-io 的 groupId 已經更換爲 commons-io,故對其進行更換。

<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>${commons-io.version}</version>
</dependency>

更換後重新打包模塊,提示:

dependencies.dependency.version is missing

 

二、原因

可能有原因有幾個:

1)沒有在父工程的 dependencyManagement 中定義 commons-io 的版本號

2)父工程中定義的版本號,沒有被子工程繼承

 

三、錯誤排查和解決

3.1 查看版本號

發現版本號的確有定義

 

3.2 子工程是否繼承

網上有大佬提示:

 maven 對於父項目定義的dependencyManagement 中的 非 jar 類型的 type節點不會繼承,也就是說子項目中必須再次聲明非 jar 類型的type即可。

在子項目中對於缺少版本號的依賴寫上版本號

根據提示,我用下面的方式解決了:

在子項目中先添加上了版本號,再重新打包。

打包成功後刪除添加的這個版本號,再次打包。

感謝大佬~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章