有没有办法使用某些Maven模块的传递依赖而不是使用默认的Maven库版本? 例如:
我的项目依赖于qulice-maven-plugin,它依赖于qulice-checkstyle,它依赖于checkstyle库。我想在我的项目中运行checkstyle,但要使用从这些传递依赖项加载的相同版本和配置。
如果我运行mvn checkstyle:checkstyle
(这是用于运行checkstyle的命令),它将加载默认的checkstyle版本并使用其默认配置。我不想从这些依赖项中复制所有配置,我只是想使自己变得足够聪明,可以使用上面定义的依赖项来执行checkstyle。
有没有办法做到这一点?
答案 0 :(得分:0)
如果我运行mvn checkstyle:checkstyle,它将加载默认的Checkstyle版本
如果您正在加载版本6.18,请参阅https://stackoverflow.com/a/27359107/1016482,了解如何覆盖它以使用较新的版本。
运行mvn checkstyle:checkstyle,这是用于运行checkstyle的命令
如果您的项目中有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给出一个示例,说明如何为您的自定义参数配置它。
我不想从这些依赖项中复制所有配置
您应该能够使用嵌入式配置,就像以checkstyle嵌入式的sun和google配置一样。只需将其添加为依赖项并指定配置位置,例如从依赖项的根目录开始/my/path/my_config.xml
,就像加载资源一样。