这听起来应该很容易,但我还没有找到答案。如果我使用 mvn install 安装一个工件,如何删除该工件?我尝试使用 dependency:purge-local-repository,但它只删除依赖项 - 而不是实际的工件。
有任何想法吗?我正在使用 maven 2.2.1 如果有帮助的话。
编辑:我知道类似的问题,但我对删除整个 .m2 存储库只是为了删除单个 SNAPSHOT 依赖项的答案不满意。另外,正如我提到的,purge-local-repository 不起作用,因为它似乎只是删除依赖项而不是实际的工件。
编辑2:我可能不是很清楚。考虑这个例子。我有一个名为 my-artifact 的 SNAPSHOT 工件。 my-artifact 有两个依赖项:my-dependency-one 和 my-dependency-two。我想编写一个脚本来删除所有三个,而无需解析 pom.xml 文件。换句话说,我想清除我的依赖项一、我的依赖项二,并且我的神器无需在 Maven 中明确输入我想要删除 my-artifact。
在“重复问题”的答案中,它建议进入 .m2 存储库并手动删除工件。这不是这个问题的答案,因为脚本在执行 Maven 命令时不知道组或工件名称。我想要类似于 dependency:purge-local-repository 的东西,只不过它不仅应该删除依赖项,还应该删除工件本身。
根据评论中的混乱,我猜测这是不可能的。如果不是,那将是一个可以接受的答案。
这是一种似乎有效的方法(尽管有点笨拙)。
这将删除项目的所有依赖项:
mvn dependency:purge-local-repository -DreResolve=false
这会删除主要工件本身:
mvn dependency:purge-local-repository -DmanualInclude=${project.groupId}:${project.artifactId}:${project.version}
需要两个步骤,因为
手册包括:
依赖项列表的形式组ID:工件ID应该从本地存储库中删除/清除它。请注意,使用此参数将停用清除当前项目依赖关系树的正常过程。如果使用此参数,则仅清除包含的工件。这手册包括参数不应与包括/排除参数。
(see 插件文档 http://maven.apache.org/plugins/maven-dependency-plugin/purge-local-repository-mojo.html#manualIncludes)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)