Maven mvn依赖项:脱机-如何在命令行上设置参数或根本不设置参数
我想下载除我自己的依赖项以外的所有内容,我还没有编译这些依赖项。我想我需要的是Maven mvn依赖项:脱机-如何在命令行上设置参数或根本不设置参数,maven,maven-dependency-plugin,Maven,Maven Dependency Plugin,我想下载除我自己的依赖项以外的所有内容,我还没有编译这些依赖项。我想我需要的是excludeGroupIds,但是我如何设置它,或者在命令行中设置其他内容 我试过这个 mvn dependency:go-offline -DexcludeGroupIds=com.example 我也试着在pom.xml和settings.xml中设置它们,但没能使它们产生任何效果。通过检查maven依赖插件的代码,我很确定这是一个bug,从某种意义上说,过滤器不适用于离线。以下是解析(版本3.1.3-SNAP
excludeGroupIds
,但是我如何设置它,或者在命令行中设置其他内容
我试过这个
mvn dependency:go-offline -DexcludeGroupIds=com.example
我也试着在
pom.xml
和settings.xml
中设置它们,但没能使它们产生任何效果。通过检查maven依赖插件的代码,我很确定这是一个bug,从某种意义上说,过滤器不适用于离线。以下是解析(版本3.1.3-SNAPSHOT)中依赖项的代码:
AbstractDependencyFilterMojo:
protected DependencyStatusSets getDependencySets( boolean stopOnFailure, boolean includeParents )
throws MojoExecutionException
{
// add filters in well known order, least specific to most specific
FilterArtifacts filter = new FilterArtifacts();
filter.addFilter( new ProjectTransitivityFilter( getProject().getDependencyArtifacts(),
this.excludeTransitive ) );
filter.addFilter( new ScopeFilter( DependencyUtil.cleanToBeTokenizedString( this.includeScope ),
DependencyUtil.cleanToBeTokenizedString( this.excludeScope ) ) );
filter.addFilter( new TypeFilter( DependencyUtil.cleanToBeTokenizedString( this.includeTypes ),
DependencyUtil.cleanToBeTokenizedString( this.excludeTypes ) ) );
filter.addFilter( new ClassifierFilter( DependencyUtil.cleanToBeTokenizedString( this.includeClassifiers ),
DependencyUtil.cleanToBeTokenizedString( this.excludeClassifiers ) ) );
filter.addFilter( new GroupIdFilter( DependencyUtil.cleanToBeTokenizedString( this.includeGroupIds ),
DependencyUtil.cleanToBeTokenizedString( this.excludeGroupIds ) ) );
filter.addFilter( new ArtifactIdFilter( DependencyUtil.cleanToBeTokenizedString( this.includeArtifactIds ),
DependencyUtil.cleanToBeTokenizedString( this.excludeArtifactIds ) ) );
...
很明显,离线
的代码在解析依赖项时没有应用这些过滤器。因此,我插入了一张项目票证以确认:这里有进展吗?
@Override
protected void doExecute()
throws MojoExecutionException
{
// get sets of dependencies
results = this.getDependencySets( false, includeParents );
...
}
protected DependencyStatusSets getDependencySets( boolean stopOnFailure, boolean includeParents )
throws MojoExecutionException
{
// add filters in well known order, least specific to most specific
FilterArtifacts filter = new FilterArtifacts();
filter.addFilter( new ProjectTransitivityFilter( getProject().getDependencyArtifacts(),
this.excludeTransitive ) );
filter.addFilter( new ScopeFilter( DependencyUtil.cleanToBeTokenizedString( this.includeScope ),
DependencyUtil.cleanToBeTokenizedString( this.excludeScope ) ) );
filter.addFilter( new TypeFilter( DependencyUtil.cleanToBeTokenizedString( this.includeTypes ),
DependencyUtil.cleanToBeTokenizedString( this.excludeTypes ) ) );
filter.addFilter( new ClassifierFilter( DependencyUtil.cleanToBeTokenizedString( this.includeClassifiers ),
DependencyUtil.cleanToBeTokenizedString( this.excludeClassifiers ) ) );
filter.addFilter( new GroupIdFilter( DependencyUtil.cleanToBeTokenizedString( this.includeGroupIds ),
DependencyUtil.cleanToBeTokenizedString( this.excludeGroupIds ) ) );
filter.addFilter( new ArtifactIdFilter( DependencyUtil.cleanToBeTokenizedString( this.includeArtifactIds ),
DependencyUtil.cleanToBeTokenizedString( this.excludeArtifactIds ) ) );
...