【发布时间】:2017-05-30 14:44:29
【问题描述】:
我想运行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) 位于本地存储库中,此方法就可以正常工作。
如果当前工件 (my-maven-plugin) 的当前版本 (3.0.0) 在本地 repo 中不是(例如,在本地只有此工件的旧版本repo,比如 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 下的所有 artefact,无论当前 artefact 的当前版本是否在本地 repo 中?
【问题讨论】:
-
您在命令中使用的
my-module的链接是什么?mvn dependency:purge-local-repository -DresolutionFuzziness=groupId -Dinclude=<here-goes-my-groupid> -DactTransitively=false -DreResolve=false -Dverbose=true按预期工作。请注意,如果使用 3.0.0 插件,则无需从 Maven 项目启动该命令,即mvn org.apache.maven.plugins:maven-dependency-plugin:3.0.0:purge-local-repository ... -
当我从 maven 项目外部运行
mvn org.apache.maven.plugins:maven-dependency-plugin:3.0.0:purge-local-repository -DresolutionFuzziness=groupId -Dinclude=<my.groupId> -DactTransitively=false -DreResolve=false -Dverbose=true时,它什么也没做:Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/standalone-pom/1/standalone-pom-1.pom [WARNING] The POM for org.apache.maven:standalone-pom:pom:1 is missing, no dependency information available [INFO] No artifacts included for purge for project: org.apache.maven:standalone-pom:pom:1 -
“您在命令中使用的 my-module 的链接是什么?”是什么意思? ? my-module 是我的 reactor pom 中的一个模块。
-
你的 ~/.m2/settings.xml 和 pom.xml 中有什么?
-
settings.xml:
仅用于发布的凭据
标签: maven maven-3 maven-plugin