依赖:复制依赖

全名

org.apache.maven.plugins:maven-dependency-plugin:3.3.0:copy-dependencies

说明

将项目依赖项从存储库复制到定义位置的目标。

属性

  • 需要执行一个 Maven 项目。
  • 需要范围内工件的依赖关系解析:test.
  • 目标是线程安全的并支持并行构建。
  • 自版本:1.0.
  • 默认绑定到生命周期阶段process-sources.

可选参数

姓名 类型 自从 描述
<addParentPoms> boolean 2.8 将父 pom 添加到复制的依赖项列表(当前项目 pom 父项和依赖项父项)。
默认值为false
用户属性是mdep.addParentPoms
<classifier> String 2.0 指定要查找的分类器。示例:sources
用户属性为: classifier
<copyPom> boolean 2.0 还要复制每个工件的 pom。
默认值为false
用户属性是mdep.copyPom
<excludeArtifactIds> String 2.0 要排除的工件名称的逗号分隔列表。
用户属性是excludeArtifactIds
<excludeClassifiers> String 2.0 要排除的分类器的逗号分隔列表。空字符串表示不排除任何内容(默认)。
用户属性是excludeClassifiers
<excludeGroupIds> String 2.0 要排除的 GroupId 名称的逗号分隔列表。
用户属性是excludeGroupIds
<excludeScope> String 2.0 如果没有为包含定义值,则要排除的范围阈值。空字符串表示没有依赖项(默认)。
被解释的范围阈值是用于创建类路径的 Maven 过滤器的范围,而不是 pom.xml 中指定的范围。总之:
  • runtimeexclude 范围排除运行时和编译依赖项,
  • compileexclude 范围排除编译、提供和系统依赖项,
  • testexclude scope 排除所有依赖项,然后不是一个真正的合法选项:它会失败,您可能打算配置 includeScope = compile
  • provided排除范围仅排除提供的依赖项,
  • system排除范围仅排除系统依赖项。

用户属性是excludeScope
<excludeTransitive> boolean 2.0 如果我们应该排除传递依赖
默认值是: false
用户属性是excludeTransitive
<excludeTypes> String 2.0 要排除的类型的逗号分隔列表。空字符串表示不排除任何内容(默认)。
用户属性是excludeTypes
<failOnMissingClassifierArtifact> boolean 2.0-alpha-2 这仅适用于使用分类器参数的情况。
默认值为false
用户属性是mdep.failOnMissingClassifierArtifact
<ignorePermissions> boolean 1.0 未用于此目标
<includeArtifactIds> String 2.0 要包含的工件名称的逗号分隔列表。空字符串表示包含所有内容(默认)。
用户属性是includeArtifactIds
<includeClassifiers> String 2.0 要包括的分类器的逗号分隔列表。空字符串表示包含所有内容(默认)。
用户属性是includeClassifiers
<includeGroupIds> String 2.0 要包含的 GroupId 的逗号分隔列表。空字符串表示包含所有内容(默认)。
用户属性是includeGroupIds
<includeScope> String 2.0 要包括的范围阈值。空字符串表示包含所有依赖项(默认)。
被解释的范围阈值是用于创建类路径的 Maven 过滤器的范围,而不是 pom.xml 中指定的范围。总之:
  • runtime包含范围提供运行时和编译依赖项,
  • compile包含范围提供编译、提供和系统依赖项,
  • test包含范围给出所有依赖项(相当于默认),
  • provided包含范围仅提供提供的依赖项,
  • system包含范围仅给出系统依赖项。

用户属性是includeScope
<includeTypes> String 2.0 要包含的类型的逗号分隔列表。空字符串表示包含所有内容(默认)。
用户属性是includeTypes
<markersDirectory> File 2.0 存放标志文件的目录
默认值为${project.build.directory}/dependency-maven-plugin-markers.
用户属性是markersDirectory
<outputAbsoluteArtifactFilename> boolean 2.0 已解析工件的输出绝对文件名
默认值为: false
用户属性是outputAbsoluteArtifactFilename
<outputDirectory> File 1.0 输出位置。
默认值为${project.build.directory}/dependency
用户属性是outputDirectory
<overWriteIfNewer> boolean 2.0 覆盖不存在或比源更旧的工件。
默认值为true
用户属性是overWriteIfNewer
<overWriteReleases> boolean 1.0 覆盖发布工件
默认值为: false
用户属性是overWriteReleases
<overWriteSnapshots> boolean 1.0 覆盖快照工件
默认值为: false
用户属性是overWriteSnapshots
<prependGroupId> boolean 2.2 在复制期间添加 groupId。
默认值为false
用户属性是mdep.prependGroupId
<silent> boolean 2.0 如果插件应该是静默的。
默认值为false
用户属性是silent
<skip> boolean 2.7 完全跳过插件执行。
默认值为false
用户属性是mdep.skip
<stripClassifier> boolean 1.0 在复制期间剥离工件分类器
默认值为false
用户属性是mdep.stripClassifier
<stripVersion> boolean 1.0 复制期间剥离工件版本
默认值为false
用户属性是mdep.stripVersion
<type> String 2.0 指定基于分类器构建工件时要查找的类型。示例:java-source,jar,war
用户属性为: type
<useBaseVersion> boolean 2.6 将工件的 baseVersion 或 uniqueVersion 附加到文件名。仅在isStripVersion()is 时使用false
默认值为true
用户属性是mdep.useBaseVersion
<useJvmChmod> boolean 1.0 未用于此目标
<useRepositoryLayout> boolean 2.0-alpha-2

将每个工件放置在与默认存储库相同的目录布局中。

例子:


  /outputDirectory/junit/junit/3.8.1/junit-3.8.1.jar

默认值为false
用户属性是mdep.useRepositoryLayout
<useSubDirectoryPerArtifact> boolean 2.0-alpha-1 将每个文件放在单独的子目录中。(示例 /outputDirectory/junit-3.8.1-jar
默认值为: false
用户属性是mdep.useSubDirectoryPerArtifact
<useSubDirectoryPerScope> boolean 2.2 将每种类型的文件放在单独的子目录中。(例如 /outputDirectory/runtime /outputDirectory/provided 等)
默认值为: false
用户属性是mdep.useSubDirectoryPerScope
<useSubDirectoryPerType> boolean 2.0-alpha-1 将每种类型的文件放在单独的子目录中。(例如 /outputDirectory/jars /outputDirectory/wars 等)
默认值为: false
用户属性是mdep.useSubDirectoryPerType

参数详情

<addParentPoms>

将父 pom 添加到复制的依赖项列表(当前项目 pom 父项和依赖项父项)。
  • 类型boolean
  • 2.8
  • 必需No
  • 用户属性mdep.addParentPoms
  • 默认false

<分类器>

指定要查找的分类器。示例:来源
  • 类型java.lang.String
  • 2.0
  • 必需No
  • 用户属性classifier

<copyPom>

还要复制每个工件的 pom。
  • 类型boolean
  • 2.0
  • 必需No
  • 用户属性mdep.copyPom
  • 默认false

<excludeArtifactIds>

要排除的工件名称的逗号分隔列表。
  • 类型java.lang.String
  • 2.0
  • 必需No
  • 用户属性excludeArtifactIds

<排除分类器>

要排除的分类器的逗号分隔列表。空字符串表示不排除任何内容(默认)。
  • 类型java.lang.String
  • 2.0
  • 必需No
  • 用户属性excludeClassifiers

<excludeGroupIds>

要排除的 GroupId 名称的逗号分隔列表。
  • 类型java.lang.String
  • 2.0
  • 必需No
  • 用户属性excludeGroupIds

<排除范围>

如果没有为包含定义值,则要排除的范围阈值。空字符串表示没有依赖项(默认)。
被解释的范围阈值是用于创建类路径的 Maven 过滤器的范围,而不是 pom.xml 中指定的范围。总之:
  • runtimeexclude 范围排除运行时和编译依赖项,
  • compileexclude 范围排除编译、提供和系统依赖项,
  • testexclude scope 排除所有依赖项,然后不是一个真正的合法选项:它会失败,您可能打算配置 includeScope = compile
  • provided排除范围仅排除提供的依赖项,
  • system排除范围仅排除系统依赖项。
  • 类型java.lang.String
  • 2.0
  • 必需No
  • 用户属性excludeScope

<excludeTransitive>

如果我们应该排除传递依赖
  • 类型boolean
  • 2.0
  • 必需No
  • 用户属性excludeTransitive
  • 默认false

<排除类型>

要排除的类型的逗号分隔列表。空字符串表示不排除任何内容(默认)。
  • 类型java.lang.String
  • 2.0
  • 必需No
  • 用户属性excludeTypes

<failOnMissingClassifierArtifact>

这仅适用于使用分类器参数的情况。
  • 类型boolean
  • 2.0-alpha-2
  • 必需No
  • 用户属性mdep.failOnMissingClassifierArtifact
  • 默认false

<忽略权限>

未用于此目标
  • 类型boolean
  • 1.0
  • 必需No

<includeArtifactIds>

要包含的工件名称的逗号分隔列表。空字符串表示包含所有内容(默认)。
  • 类型java.lang.String
  • 2.0
  • 必需No
  • 用户属性includeArtifactIds

<包括分类器>

要包括的分类器的逗号分隔列表。空字符串表示包含所有内容(默认)。
  • 类型java.lang.String
  • 2.0
  • 必需No
  • 用户属性includeClassifiers

<includeGroupIds>

要包含的 GroupId 的逗号分隔列表。空字符串表示包含所有内容(默认)。
  • 类型java.lang.String
  • 2.0
  • 必需No
  • 用户属性includeGroupIds

<包括范围>

要包括的范围阈值。空字符串表示包含所有依赖项(默认)。
被解释的范围阈值是用于创建类路径的 Maven 过滤器的范围,而不是 pom.xml 中指定的范围。总之:
  • runtime包含范围提供运行时和编译依赖项,
  • compile包含范围提供编译、提供和系统依赖项,
  • test包含范围给出所有依赖项(相当于默认),
  • provided包含范围仅提供提供的依赖项,
  • system包含范围仅给出系统依赖项。
  • 类型java.lang.String
  • 2.0
  • 必需No
  • 用户属性includeScope

<包括类型>

要包含的类型的逗号分隔列表。空字符串表示包含所有内容(默认)。
  • 类型java.lang.String
  • 2.0
  • 必需No
  • 用户属性includeTypes

<标记目录>

存放标志文件的目录
  • 类型java.io.File
  • 2.0
  • 必需No
  • 用户属性markersDirectory
  • 默认${project.build.directory}/dependency-maven-plugin-markers

<outputAbsoluteArtifactFilename>

输出已解析工件的绝对文件名
  • 类型boolean
  • 2.0
  • 必需No
  • 用户属性outputAbsoluteArtifactFilename
  • 默认false

<输出目录>

输出位置。
  • 类型java.io.File
  • 1.0
  • 必需No
  • 用户属性outputDirectory
  • 默认${project.build.directory}/dependency

<overWriteIfNewer>

覆盖不存在或比源更旧的工件。
  • 类型boolean
  • 2.0
  • 必需No
  • 用户属性overWriteIfNewer
  • 默认true

<overWriteReleases>

覆盖发布工件
  • 类型boolean
  • 1.0
  • 必需No
  • 用户属性overWriteReleases
  • 默认false

<覆盖快照>

覆盖快照工件
  • 类型boolean
  • 1.0
  • 必需No
  • 用户属性overWriteSnapshots
  • 默认false

<prependGroupId>

在复制期间添加 groupId。
  • 类型boolean
  • 2.2
  • 必需No
  • 用户属性mdep.prependGroupId
  • 默认false

<沉默>

如果插件应该是静默的。
  • 类型boolean
  • 2.0
  • 必需No
  • 用户属性silent
  • 默认false

<跳过>

完全跳过插件执行。
  • 类型boolean
  • 2.7
  • 必需No
  • 用户属性mdep.skip
  • 默认false

<条带分类器>

在复制期间剥离工件分类器
  • 类型boolean
  • 1.0
  • 必需No
  • 用户属性mdep.stripClassifier
  • 默认false

<strip版本>

复制期间剥离工件版本
  • 类型boolean
  • 1.0
  • 必需No
  • 用户属性mdep.stripVersion
  • 默认false

<类型>

指定基于分类器构建工件时要查找的类型。示例:java-source,jar,war
  • 类型java.lang.String
  • 2.0
  • 必需No
  • 用户属性type

<使用基础版本>

将工件的 baseVersion 或 uniqueVersion 附加到文件名。仅在isStripVersion()is 时使用false
  • 类型boolean
  • 2.6
  • 必需No
  • 用户属性mdep.useBaseVersion
  • 默认true

<使用JvmChmod>

未用于此目标
  • 类型boolean
  • 1.0
  • 必需No

<useRepositoryLayout>

将每个工件放置在与默认存储库相同的目录布局中。

例子:


  /outputDirectory/junit/junit/3.8.1/junit-3.8.1.jar
  • 类型boolean
  • 2.0-alpha-2
  • 必需No
  • 用户属性mdep.useRepositoryLayout
  • 默认false

<useSubDirectoryPerArtifact>

将每个文件放在单独的子目录中。(示例 /outputDirectory/junit-3.8.1-jar
  • 类型boolean
  • 2.0-alpha-1
  • 必需No
  • 用户属性mdep.useSubDirectoryPerArtifact
  • 默认false

<useSubDirectoryPerScope>

将每种类型的文件放在单独的子目录中。(例如 /outputDirectory/runtime /outputDirectory/provided 等)
  • 类型boolean
  • 2.2
  • 必需No
  • 用户属性mdep.useSubDirectoryPerScope
  • 默认false

<useSubDirectoryPerType>

将每种类型的文件放在单独的子目录中。(例如 /outputDirectory/jars /outputDirectory/wars 等)
  • 类型boolean
  • 2.0-alpha-1
  • 必需No
  • 用户属性mdep.useSubDirectoryPerType
  • 默认false