java – 在构建中使用maven传递依赖

有没有办法使用某些maven模块的传递依赖,而不是使用默认的maven lib版本?
例如:

我的项目依赖于qulice-maven-plugin,这取决于qulice-checkstyle,它依赖于checkstyle libs.我想在我的项目中运行checkstyle,但使用从这些传递依赖项加载的相同版本和配置.

如果我运行mvn checkstyle:checkstyle,这是运行checkstyle的命令,它会加载默认的checkstyle版本并使用其默认配置.我不想从这些依赖项复制我的所有配置,我只是想要足够聪明,使用上面定义的依赖项来执行checkstyle.

有办法做到这一点吗?

解决方法:

If I run mvn checkstyle:checkstyle it loads a default checkstyle version

如果您的是加载版本6.18,请参阅https://*.com/a/27359107/1016482,了解如何覆盖它以使用更新的版本.

run mvn checkstyle:checkstyle, which is the command for running checkstyle

如果您希望在项目中存在检查样式违规时使构建失败,那么这不是命令.如https://maven.apache.org/plugins/maven-checkstyle-plugin/checkstyle-mojo.html所示,如果项目中存在checkstyle违规,则只生成文件报告并且不会使构建失败.

为此,他们建议使用checkstyle:check和https://maven.apache.org/plugins/maven-checkstyle-plugin/usage.html#Checking_for_Violations_as_Part_of_the_Build显示如何为自定义参数配置它的示例.

I don’t want to copy all my configurations from these dependencies

您应该能够使用嵌入式配置,就像嵌入在checkstyle中的sun和google配置一样.只需将其添加为依赖项并指定配置位置,例如来自依赖项根目录的/my/path/my_config.xml,就像加载资源一样.

上一篇:HBase从入门到精通系列:误删数据如何抢救?


下一篇:CheckStyle – 用于覆盖方法的JavaDoc