Jenkins 由于无法解决的依赖关系而产生的声纳警告
我们的项目是一个使用maven构建的多模块插件项目。声纳分析运行正常,但在此过程中会产生大量警告,可能会产生不正确的结果。下面是项目的设置和分析期间生成的警告。非常感谢您在修复这些警告方面提供的任何帮助 项目设置:Jenkins 由于无法解决的依赖关系而产生的声纳警告,jenkins,sonarqube,Jenkins,Sonarqube,我们的项目是一个使用maven构建的多模块插件项目。声纳分析运行正常,但在此过程中会产生大量警告,可能会产生不正确的结果。下面是项目的设置和分析期间生成的警告。非常感谢您在修复这些警告方面提供的任何帮助 项目设置: 通过詹金斯构建进行声纳分析 Jenkins Sonar插件用于运行分析 Jenkins和Sonar以及MySQL在不同的机器上运行 以下属性在Sonar分析期间提供给Jenkins中的Sonar插件 -Dsonar.profile="My Project Profile" -
我知道这是一个迟到的回复,但我遇到了同样的问题,结果是我运行了
mvn clean package
,而不是mvn clean install
。我在SonarQube邮件列表中找到了,希望这能有所帮助。这个警告可能仅仅是由于插件中的竞争条件,比如maven jar插件
(我在另一个与Sonar无关的maven 3.6.3案例中也有同样的警告)
让我们考虑下面的项目布局:
所有项目的父项acme父项
acme聚合器
acme common
取决于acme-p1
acme-common
取决于acme-p2
acme-common
取决于acme-p3
acme-common
取决于acme-p4
和acme-p2
acme-p3
acme父级
acme common
,acme-p1
,acme-p2
和acme-p3
acme-p4
和acme-p2
不在本地存储库中acme-p3
- 都在反应堆里
- 在调用
中的插件期间,maven将验证在reactor中找到的工件,并尝试解析本地工件的路径,但失败(因此发出警告)acme-p1
acme-p4
移动到acme-p1
之前,这将更改生成顺序:警告将消失(注意:依赖项需要从本地存储库中删除),因为现在,acme-p2
和acme-p3
有效地在acme-p1
之前生成
Maven将按照以下顺序进行构建:
acme父级
acme common
,acme-p2
,acme-p3
和acme-p4
acme-p1
- 将依赖项从acme-p4添加到acme-p1:这将以额外的维护为代价强制执行构建顺序(在我的实际用例中,
packagesacme-p4
和acme-p2
使用acme-p3
)maven assembly plugin
- 在reactor中重新排序项目:我并没有使用
选项测试它,允许并发构建,但我认为它也可能失败-T
- 执行
构建:警告中提到了它,但我怀疑Maven在某些情况下会引用本地存储库或远程存储库中的工件(如果您在它们上部署包
)。这可能很棘手:如果有人更改了一个方法的签名,那么Maven可能会下载快照(它较新,并且不在反应器中,因此它比本地repo更好),构建可能会失败(这纯粹是我的假设)快照
这也可能是Maven在如何订购反应堆中的模块时出错。我们遇到了同样的问题。我想比较一下环境。您是否使用本地maven工件服务器,如JFrog工件厂或Sonatype Nexus?嗨,我也有同样的问题。你解决这个错误了吗?如果是这样,请告诉我如何解决?嗨,你确定这对你有用吗?clean-install和clean-package不是几乎相同,只是clean-package没有将任何插件安装到本地存储库中?你知道吗 [WARNING] The following dependencies could not be resolved at this point of the build but seem to be part of the reactor: 15:04:52 [WARNING] o com.mycompany.myproject.plugins:com.mycompany.myproject.external.libraries:jar:1.0.0-SNAPSHOT (provided) 15:04:52 [WARNING] Try running the build up to the lifecycle phase "package" 15:04:52 [WARNING] The following dependencies could not be resolved at this point of the build but seem to be part of the reactor: 15:04:52 [WARNING] o com.mycompany.myproject.plugins:com.mycompany.myproject.somefunctionality.framework:jar:1.0.0-SNAPSHOT (provided) Class 'com/mycompany/myproject/core/common/datatransfers/MyClass' is not accessible through the ClassLoader. [WARN] [15:05:25.731] Class 'com/mycompany/myproject/core/common/datatransfers/MyClass' is not accessible through the ClassLoader. [INFO] com.mycompany.myproject.platform.feature ................ SKIPPED [INFO] com.mycompany.myproject.somefeature.feature ... SKIPPED [INFO] My Product ............................... SKIPPED [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS