如何轻松地从本地存储库中删除所有过时的快照?
我的 repo 中的许多文件导致性能不佳,并且获取工件的时间很长。我想将回购精简到最新的快照。
我看到dependency:purge-local-repository可以清除本地存储库,但我想保持最新。我可以轻松地创建一个脚本来完成这项工作(并将其包装在一个插件中),但如果已经有一个工具可以清除到最新版本,我不想重新发明轮子。
是否有插件可以清除我对最新快照或最后 X 快照的依赖项?
如何轻松地从本地存储库中删除所有过时的快照?
我的 repo 中的许多文件导致性能不佳,并且获取工件的时间很长。我想将回购精简到最新的快照。
我看到dependency:purge-local-repository可以清除本地存储库,但我想保持最新。我可以轻松地创建一个脚本来完成这项工作(并将其包装在一个插件中),但如果已经有一个工具可以清除到最新版本,我不想重新发明轮子。
是否有插件可以清除我对最新快照或最后 X 快照的依赖项?
这类似于how-do-you-deal-with-maven-3-timestamped-snapshots-efficiently
我添加了以下内容,每个构建的包都清除了旧的快照,以保持我的本地存储库修剪并确保在 Windows 上更快地构建存在大量存储库的问题
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>remove-old-artifacts</id>
<phase>package</phase>
<goals>
<goal>remove-project-artifact</goal>
</goals>
<configuration>
<removeAll>true</removeAll><!-- remove all versions of built artifacts including all versions. Install phase will regenerate -->
</configuration>
</execution>
</executions>
</plugin>
使用 Peter 的解决方案,当前工件(或一组工件,如果应用在父 pom 中)的所有旧版本都将被删除,包括版本和所有快照。
如果任何其他项目需要以前的发布版本,则必须从您的非本地存储库(例如 Nexus)再次下载,并且一旦您创建此快照的“包”,将再次删除。
我已经看到了这个问题的另一种选择:http ://maven.apache.org/plugins/maven-dependency-plugin/purge-local-repository-mojo.html
可以选择定义“ snapshotsOnly ”,并且只会删除快照,而不是以前的稳定版本。