Maven:在本地仓库中删除除最新版本的库以外的所有库

时间:2014-08-07 15:40:30

标签: java maven

我在我的项目中使用了一个库,我在开发过程中经历了很多版本,因此我的本地Maven存储库包含了该库的许多旧版本。

我怀疑冲突可能会导致我遇到的一些奇怪的问题,所以我想从我当地的maven存储库中删除除了最新版本的库以外的所有版本。

我该怎么做?

如果它有任何区别,我目前正在使用此库的SNAPSHOT版本(根据其开发人员的建议)。

PS:删除整个存储库不是一个非常实用的选项,因为repo目前超过1.2G并且我有一个缓慢的上限连接。

2 个答案:

答案 0 :(得分:1)

对于maven来说,

purge-local-repository plugin可以帮助解决这种情况。

尝试使用以下命令执行maven:

mvn clean dependency:purge-local-repository -DreResolve=false -Dverbose=true -DactTransitively=false

答案 1 :(得分:1)

如果您知道依赖关系坐标,则可以从本地目录手动删除它们。例如,如果这是你的依赖:

<dependency>
    <groupId>org.glassfish.jersey</groupId>
    <artifactId>jersey-bom</artifactId>
    <version>2.9</version>
</dependency>

在Linux上你可以运行:

rm -rf ~/.m2/repository/org/glassfish/jersey/jersey-bom/

在Windows上,您可以使用资源管理器将其删除或运行:

rd /S /Q C:\Users\%username%\.m2\repository\org\glassfish\jersey\jersey-bom\