如何删除 maven 获取的缓存本地工件?
Posted
技术标签:
【中文标题】如何删除 maven 获取的缓存本地工件?【英文标题】:How do I remove a cached local artifact that maven fetched? 【发布时间】:2013-07-07 10:30:31 【问题描述】:运行 maven 命令后,jboss
工件缓存在我的本地 repo /.m2
中。但是,这是错误的副本,我们已经在本地服务器上更新了我们的工件。如何删除此缓存副本? (除了从/.m2/repository/org
文件夹中手动删除jboss
文件夹)。是否有 Maven 命令可以这样做?另外,我想知道本地存储库的结构究竟如何,是否以任何方式根据groupId, artifactId, version (GAV)
?
【问题讨论】:
【参考方案1】:快照可以在构建具有依赖项的项目时通过使用-U
选项和mvn
强制更新工件。 Maven 将获取指定版本的最新可用快照。您必须先将固定的快照工件部署到存储库。最新的快照由附加到 jar 文件名的时间戳决定。
但是,release 版本不会更新。下载并验证发布工件后,如果您在远程存储库上替换它,则必须手动删除它。通常,您应该永远不要替换发布版本的工件。相反,您应该始终发布新版本(并可能从存储库中删除错误版本)并更改使用此工件的项目的 pom.xml
文件。
有关本地/远程存储库的结构,请参见下面的链接。
参考资料:
Force maven update maven artifact repository directory structure specs【讨论】:
以上是关于如何删除 maven 获取的缓存本地工件?的主要内容,如果未能解决你的问题,请参考以下文章
使用 gradle 发布到 maven 时删除附加到工件名称的默认 date.time