aut*_*ter 5 maven-plugin maven-3 maven
我想运行mvn命令以消除下的所有伪像~/.m2/repository/here/goes/my/groupid。为此,我运行:
mvn -pl my-module dependency:purge-local-repository -DresolutionFuzziness=groupId -Dinclude=<here-goes-my-groupid> -DactTransitively=false -DreResolve=false -Dverbose=true
Run Code Online (Sandbox Code Playgroud)
只要当前工件(my-maven-plugin)的当前版本(3.0.0)在本地存储库中,此方法就可以正常工作。
如果当前工件(my-maven-plugin)的当前版本(3.0.0)不在本地存储库中(例如,本地存储库中仅存在该工件的较旧版本,例如2.9.0),则不会得到任何结果清除:
[INFO] --- maven-dependency-plugin:3.0.0:purge-local-repository (default-cli) @ my-maven-plugin ---
Downloading: https://repo.maven.apache.org/maven2/here/goes/my/groupid/my-maven-plugin/3.0.0/my-maven-plugin-3.0.0.jar
[INFO] Unable to resolve all dependencies for : <here-goes-my-groupid>:my-maven-plugin:3.0.0. Falling back to non-transitive mode for initial artifact resolution.
[INFO] No artifacts included for purge for project: <here-goes-my-groupid>:my-maven-plugin:maven-plugin:3.0.0
Run Code Online (Sandbox Code Playgroud)
我不明白为什么maven-dependency-plugin尝试从maven Central下载任何内容。它应该做的就是递归地将文件夹放到本地文件系统中。
无论当前人工制品的当前版本是否在本地存储库中,我如何强制在给定的groupId下清除所有人工制品?
include期望groupId被清除的依赖项与项目的依赖项完全相同。、 和resolutionFuzziness选项仅在满足上述条件时适用。我想,这可能是因为插件开发人员希望防止意外清除项目组之外的工件。但这是我的疯狂猜测。actTransitivelyreResolvegroupId
放松!manualInclude来救援。无论项目的groupId.
尝试这个:
mvn dependency:purge-local-repository -DmanualInclude=<group-id>:<artifact-id>
Run Code Online (Sandbox Code Playgroud)
或这个:
mvn dependency:purge-local-repository -DmanualIncludes=<group-id>:<artifact-id>
Run Code Online (Sandbox Code Playgroud)
然而,不同之处在于,与include它不同的是,无论您赋予什么值,它都不会在清除后重新解决工件reResolve。
此条件会跳过重新解析。
| 归档时间: |
|
| 查看次数: |
549 次 |
| 最近记录: |