Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从本地maven repo中删除项目工件?_Maven_Maven 3 - Fatal编程技术网

如何从本地maven repo中删除项目工件?

如何从本地maven repo中删除项目工件?,maven,maven-3,Maven,Maven 3,在本地多模块项目上运行mvn install时,它会将项目构件构建并安装到本地repo中mvn clean似乎在清理我特定于项目的目标目录 我使用什么命令让maven从本地repo卸载我的项目模块?例如,我的项目输出foo-0.1.jar和bar-0.2.jar,我希望从我的本地回购中删除它们,而不必亲自去那里删除它们 最好的方法是实施一个发布策略,即只要开发中的工件在版本中附加快照。然后,当您运行install时,Maven会自动更新本地存储库中的工件。完成开发后,删除快照并发布版本(即通过部

在本地多模块项目上运行
mvn install
时,它会将项目构件构建并安装到本地repo中
mvn clean
似乎在清理我特定于项目的目标目录


我使用什么命令让maven从本地repo卸载我的项目模块?例如,我的项目输出foo-0.1.jar和bar-0.2.jar,我希望从我的本地回购中删除它们,而不必亲自去那里删除它们

最好的方法是实施一个发布策略,即只要开发中的工件在版本中附加
快照
。然后,当您运行install时,Maven会自动更新本地存储库中的工件。完成开发后,删除快照并发布版本(即通过部署)。如果需要进一步开发,您可以增加版本号,并将其与快照一起追加。

您可以从本地存储库中清除工件,但为什么要这样做?除此之外,您还可以通过:

这将清除所有项目和依赖项工件

mvn dependency:purge-local-repository -DreResolve=false

这可能会受到补充命令行参数(请参阅文档)的影响,以了解更多详细信息。

通常我只是。。。从文件系统中删除它们…对于一个运行脚本删除它们的项目来说,有17个是很烦人的,所以我宁愿maven这样做,因为它知道那里有什么。如果你从maven的角度来看项目输出foo-0.1.jar,那么这个版本将永远不会从本地存储库中删除。所以第一个问题是:为什么要删除它们?我安装了一些工件。运行
mvn依赖项:清除本地存储库
后,依赖于该工件的其他项目仍在生成。如果已从本地repo中删除该工件,他们从何处获取该工件?
依赖项:清除本地存储库
不会远程当前pom本身指定的工件。它只是“重新加载”所有依赖项。仅从存储库中删除当前项目!用法:导航到项目并运行命令这是一个特别糟糕的策略,它会阻止您检测循环依赖项或丢失的工件,直到一切都太迟了。这是怎么回事?在我看来,MrsTang建议使用标准的maven版本控制……在开发过程中在版本中使用-SNAPSHOT,然后在发布时删除它。虽然我不确定它是否真的解决了用户在下载依赖项时面临的挑战,但我不知道使用标准版本控制如何防止您检测循环依赖项或丢失的工件。
mvn build-helper:remove-project-artifact