我正在maven项目目录中运行以下命令:
mvn dependency:purge-local-repository
预期的行为是什么?
是否会删除(并重新下载?)本地仓库中已存在的所有依赖项该特定项目(即我所在的目录)或将删除所有< / strong>我当地回购的内容?
答案 0 :(得分:7)
默认情况下,purge-local-repository
将从本地存储库中删除与运行项目的每个依赖项(包括传递版)相关联的所有文件:
从本地存储库中删除项目依赖项,并可选择重新解析它们。
有几个因素起作用:
actTransitively
参数进行配置。reResolve
参数进行配置。foo:bar:1.0
,则将删除路径foo/bar/1.0/*
下的所有文件。这可以通过resolutionFuzziness
参数(其默认值为version
)进行配置:
artifactId
将清除被清除工件的工件ID路径下的所有文件。在上面的示例中,foo/bar/**
下的所有文件都将被清除(因此,所有版本都将被删除)。groupId
将清除被清除工件的组ID路径下的所有文件。在上面的示例中,foo/**
下的所有文件都将被清除(因此,所有工件ID的所有版本都将被删除)。file
只会清除正在清除的工件的文件。在上面的示例中,只会移除文件bar-1.0.jar*
(这包括他们可能拥有的任何sha1
。它不会清除关联的POM文件。您可以通过打印具有list
目标的项目的所有依赖项列表来查看要清除的工件:
mvn dependency:list
如果您决定不清除传递依赖项,可以选择向此命令添加excludeTransitive
。
答案 1 :(得分:1)
继
http://maven.apache.org/plugins/maven-dependency-plugin/purge-local-repository-mojo.html
我们
Array
(
[url] => http://example.com/api/myendpoint
[content_type] => text/html
[http_code] => 404
[header_size] => 163
[request_size] => 206
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 0.00557
[namelookup_time] => 0.004207
[connect_time] => 0.004851
[pretransfer_time] => 0.004874
[size_upload] => 0
[size_download] => 579
[speed_download] => 103949
[speed_upload] => 0
[download_content_length] => 579
[upload_content_length] => 0
[starttransfer_time] => 0.005555
[redirect_time] => 0
[redirect_url] =>
[primary_ip] => ::ffff:XX:XX:XX:XX
[certinfo] => Array
(
)
[primary_port] => 80
[local_ip] => ::ffff:YY.YY.Y.YY
[local_port] => 42744
)
从本地存储库中删除项目依赖项,并可选择重新解析它们。
答案 2 :(得分:0)
使用相同的清除但详细信息, 如果项目A和项目B(Jar)建立在本地和项目A依赖于B(在本地回购中)可以解决,如
mvn依赖:purge-local-repository -Dinclude = com.xxxx.projectB:projectB
并在项目A中添加依赖项将解决问题。
<dependency>
<groupId>com.xxxx.projectB</groupId>
<artifactId>projectB</artifactId>
<version>${project.version}</version>
</dependency>
希望这有帮助,