首页 > 解决方案 > 依赖版本更改后无法识别 mvn 依赖

问题描述

我的项目有一个自定义依赖项,api-client. 此依赖项用于连接我项目中的多个模块。

问题是,如果我对依赖项进行任何更改并使用以下命令api-client生成文件:.jar

mvn install -Dmaven.test.skip=true

我将手动将该.jar文件放入我的文件中。.m2 repository之后,如果我尝试运行其他依赖于api-client的模块,这些模块会抛出很多编译错误。(以前,都运行成功。)

一些示例错误如下:

[ERROR] /C:/Local/core/src/main/java/com/core/service/impl/DBSClaimServiceImpl.java:[33,39] C:\Local\core\src\main\java\com\core\service\impl\DBSClaimServiceImpl.java:33: package org.apache.commons.lang3 does not exist
[ERROR] /C:/Local/core/src/main/java/com/core/service/impl/DBSClaimServiceImpl.java:[33,1] C:\Local\core\src\main\java\com\core\service\impl\DBSClaimServiceImpl.java:33: static import only from classes and interfaces
[ERROR] /C:/Local/core/src/main/java/com/core/model/Dealer.java:[9,39] C:\Local\core\src\main\java\com\core\model\Dealer.java:9: package org.apache.commons.lang3 does not exist
[ERROR] /C:/Local/core/src/main/java/com/core/model/Dealer.java:[9,1] C:\Local\core\src\main\java\com\core\model\Dealer.java:9: static import only from classes and interfaces
[ERROR] /C:/Local/core/src/main/java/com/core/resource/settlement/flatFile/RecordType1ClaimInformation.java:[10,39] C:\Local\core\src\main\java\com\core\resource\settlement\flatFile\RecordType1ClaimInformation.java:10: package org.apache.commons.lang3 does not exist

所有软件包都在我的本地存储库中可用,但仍然无法识别它们。我不确定这里到底是什么问题。

请在下面找到我在其中一个模块中的条目:

<api.version>1.0.245</api.version>
<api.client.version>1.0.292</api.client.version>

一旦我更改了上述版本(api.client.version),问题就开始了。之后,旧版本也会引发相同的错误。

标签: javamavenpom.xml

解决方案


为了解决传递依赖关系,其他模块不仅需要 . api-client.jar,还需要一个 generate pom.xml,它声明使用 api-client.jar 需要哪些其他 jar。

有多种方法可以解决此问题,但您的环境描述不够详细,无法说明如何最好地解决此问题。


推荐阅读