Java 如何防止代码使用某些依赖项的错误版本?
我有一个依赖于JAR文件的项目。这个JAR的版本经常变化,我们很难确保使用正确的版本。在调查bug时,它也会引起问题:哪个版本的JAR包含bug。一些程序员可能会忘记更新相应的依赖项,并在项目中包含这个JAR的两个版本,以便类加载器可以找到一个旧版本 问题是如何解释这个问题 我有以下计划: 1) 当发生错误时,记录我正在使用的JAR名称,以确保它是正确的版本。我打算用类似的东西Java 如何防止代码使用某些依赖项的错误版本?,java,maven,intellij-idea,Java,Maven,Intellij Idea,我有一个依赖于JAR文件的项目。这个JAR的版本经常变化,我们很难确保使用正确的版本。在调查bug时,它也会引起问题:哪个版本的JAR包含bug。一些程序员可能会忘记更新相应的依赖项,并在项目中包含这个JAR的两个版本,以便类加载器可以找到一个旧版本 问题是如何解释这个问题 我有以下计划: 1) 当发生错误时,记录我正在使用的JAR名称,以确保它是正确的版本。我打算用类似的东西 this.getClass().getResource(someResourceINeedFromThatJar).g
this.getClass().getResource(someResourceINeedFromThatJar).getFile()
2) 我可以写一个测试来解释这一点。但是我不知道如何在Maven构建的包阶段之后运行测试
3) 也许您可以为此提出其他建议?好吧,我们有相同的场景,并通过使用mavendependencyManagement解决了这个问题 它有两个功能
另一个来源:您可能正在寻找非常感谢的信息!但这对不是父工件子工件的工件有效吗?这是我们面临的问题。有没有办法检查构建只包含某个依赖项的一个版本(或所有版本)并打印出来?