This question already has answers here:
How to remove jar file from local maven repository which was added with install:install-file?

(6个答案)



How to do remove a projects artifacts from the local maven repo?

(3个答案)


7年前关闭。




听起来应该很容易,但是我还没有找到答案。如果我通过mvn install安装了 Artifact ,如何删除所说的 Artifact ?我尝试使用dependency:purge-local-repository,但是它只删除了依赖关系,而不是实际的 Artifact 。

有任何想法吗?我正在使用maven 2.2.1,如果有帮助。

编辑:我知道类似的问题,但我不满意删除我的整个.m2存储库只是为了删除单个SNAPSHOT依赖项的答案。而且,正如我提到的,purge-local-repository不起作用,因为它似乎只是在删除依赖关系,而不是删除实际的 Artifact 。

编辑2:我可能不太清楚。考虑这个例子。我有一个称为my-artifact的SNAPSHOT Artifact 。我的 Artifact 有两个依赖关系:我的依赖关系一和我的依赖关系二。我想编写一个无需删除pom.xml文件即可删除所有三个脚本的脚本。换句话说,我想清除my-dependence-one,my-dependency-2和 my-artifact ,而不必显式键入要删除my-artifact的Maven。

在“重复问题”的答案中,它建议您进入并手动从.m2存储库中删除 Artifact 。考虑到脚本在执行maven命令时不知道组名或 Artifact 名,因此这不是对这个问题的答案。我想要类似于dependency:purge-local-repository的东西,除了它不仅应该删除依赖关系,而且还应该删除 Artifact 本身。

基于评论中的困惑,我猜测这是不可能的。如果不是,那将是一个可以接受的答案。

最佳答案

这是一种似乎可行的方法(虽然有点笨拙)。
这将删除项目的所有依赖项:

mvn dependency:purge-local-repository -DreResolve=false
这将删除主要 Artifact 本身:
mvn dependency:purge-local-repository -DmanualInclude=${project.groupId}:${project.artifactId}:${project.version}
这需要两个步骤,因为

(请参阅the plugin doc)

关于maven - 如何从不知道 Artifact 名称或要卸载 Artifact 的组ID的脚本中执行mvn install的相反操作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21341103/

10-13 06:13