我想下载所有东西,除了我自己的依赖项,我还没有编译。我想我需要的是excludeGroupIds
,但是我如何在命令行上设置它,或者https://maven.apache.org/plugins/maven-dependency-plugin/go-offline-mojo.html中的其他东西?
我已经试过这个
mvn dependency:go-offline -DexcludeGroupIds=com.example
我也试过在pom.xml
和settings.xml
中设置它们,也没能让它们有任何效果。
2条答案
按热度按时间voase2hg1#
通过检查maven-dependency-plugin的代码,我非常确定这是一个bug,因为过滤器不适用于
go-offline
。以下是在go-offline
mojo实现(版本3.1.3-SNAPSHOT)中解析依赖关系的代码:在合同中,这里是解决
resolve
mojo依赖关系的代码:AbstractDependencyFilterMojo:
很明显,
go-offline
的代码在解析依赖关系时没有应用这些过滤器。所以我插入了一个项目的票来确认:https://issues.apache.org/jira/browse/MDEP-725aoyhnmkz2#
从
maven-dependency-plugin
的3.6.0版本开始,或者更早,go-offline
目标似乎尊重excludeReactor
选项。无论如何,这对我的项目很有帮助。该选项默认为true,并且似乎阻止了当前项目的子模块的解析,尽管出于某种原因,描述(似乎不准确)将其本身限制为“插件”。所以,如果你使用的是一个新版本的依赖插件,你应该不需要额外的步骤来完成你的目标默认情况下;excludeGroupIds
不需要。也就是说,MDEP-689仍然是开放的,所以我不确定
excludeGroupIds
本身现在是否工作。