maven - 使用 maven-dependency-plugin 清除人工制品

标签 maven maven-3 maven-plugin

我要跑 mvn命令清除 ~/.m2/repository/here/goes/my/groupid 下的所有人工制品.为此,我运行:

mvn -pl my-module dependency:purge-local-repository -DresolutionFuzziness=groupId -Dinclude=<here-goes-my-groupid> -DactTransitively=false -DreResolve=false -Dverbose=true

只要当前人工制品(my-maven-plugin)的当前版本(3.0.0)在本地存储库中,这就可以正常工作。

如果当前 Artifact (my-maven-plugin)的当前版本(3.0.0)是 不是 在本地存储库中(例如,本地存储库中只有此人工制品的旧版本,例如 2.9.0),不会清除任何内容:
[INFO] --- maven-dependency-plugin:3.0.0:purge-local-repository (default-cli) @ my-maven-plugin ---
Downloading: https://repo.maven.apache.org/maven2/here/goes/my/groupid/my-maven-plugin/3.0.0/my-maven-plugin-3.0.0.jar
[INFO] Unable to resolve all dependencies for : <here-goes-my-groupid>:my-maven-plugin:3.0.0. Falling back to non-transitive mode for initial artifact resolution.
[INFO] No artifacts included for purge for project: <here-goes-my-groupid>:my-maven-plugin:maven-plugin:3.0.0

我不明白为什么 maven-dependency-plugin 试图从 maven central 下载任何东西。它应该做的就是递归地删除本地文件系统中的文件夹。

我如何强制清除给定 groupId 下的所有人工制品,无论当前人工制品的当前版本是否在本地存储库中?

最佳答案

include预计groupId被清除的依赖项与项目的完全相同。
选项 resolutionFuzziness , actTransitivelyreResolve仅适用于上述groupId条件满足。
我想,这可能是因为插件开发人员想要防止意外清除项目组之外的 Artifact 。不过,这是我的疯狂猜测。

放松! manualInclude来救援。无论项目的 groupId 如何,它都可以清除 Artifact 。 .

尝试这个:

mvn dependency:purge-local-repository -DmanualInclude=<group-id>:<artifact-id>

或这个:
mvn dependency:purge-local-repository -DmanualIncludes=<group-id>:<artifact-id>

然而,不同的是,不像include无论您为 reResolve 赋予什么值,它都不会在清除后重新解析 Artifact 。 .

This条件跳过重新解析。

关于maven - 使用 maven-dependency-plugin 清除人工制品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41664914/

相关文章:

java - Maven 3 : Failed to execute goal org. apache.maven.plugins :maven-archetype-plugin:2. 2:生成

java - 使用 jaxws-maven-plugin 从多个 wsdls 生成类

java - 使用像 Ivy 或 Maven 这样的工具,是否可以识别仅是源代码的依赖项?

java - Maven 添加生成的文件夹(使用 Maven 插件)作为源文件夹,IntelliJ 无法识别

java - 如何使用 Maven 构建同一项目的 2 个版本

java - 来自项目的 Maven 原型(prototype) - 如何保留包名称?

java - JGoodies Maven 插件 NullPointerException

java - jaxws-maven-plugin 解析相对于类位置的 WSDL 位置,为什么?

java - 新 Mavenized 项目 - 找不到类路径

java - 将参数传递给注解处理器