首页 文章

如何从本地maven存储库中删除jar文件,该存储库是使用install:install-file添加的?

提问于
浏览
96
mvn install:install-file -Dfile=phonegap-1.1.0.jar -DgroupId?=phonegap -DartifactId?=phonegap -Dversion=1.1.0 -Dpackaging=jar

我使用上面的命令将本地jar安装到maven local repo中 . 现在我得到了maven repo的依赖 . 我想从本地仓库中删除它 . 如何清洁?

5 回答

  • 85

    虽然有一个maven命令可以执行此操作,但是从存储库中手动删除文件会更容易 .

    像这样在Linux上的Windows Documents and Settings\your username\.m2$home/.m2

  • 10

    虽然手动删除文件有效,但有一种官方方法可以从本地(缓存)存储库中删除项目的依赖关系,并可选择从远程存储库重新解析它们 .

    标准Maven依赖项插件上的目标 purge-local-repository 将从缓存中删除此项目的本地安装依赖项 . (可选)您可以同时从远程存储库重新解析它们 .

    This should be used as part of a project phase 因为它适用于包含项目的依赖项 . 默认情况下,传递依赖性也将被(当地)清除 .

    如果要从缓存中显式删除单个工件,请将 purge-local-repositorymanualInclude 参数一起使用 . 例如,从命令行:

    mvn dependency:purge-local-repository -DmanualInclude="groupId:artifactId, ..."
    

    该文档暗示默认情况下这不会删除传递依赖项 . 如果您使用非标准缓存位置运行,或者在多个平台上运行,则这些“比手动”删除文件更可靠 .

    完整文档在maven-dependency-plugin规范中 .

    注意:旧版本的maven dependency 插件有一个 manual-purge-local-repository 目标,现在(版本2.8)使用 manualInclude 暗示 . 还应阅读 manualIncludes (带有 s )的文档 .

  • 10

    如果您使用的是Linux操作系统,请删除本地 ~/.m2/repository/phonegap/1.1.0/ 目录下的所有内容(jar,pom.xml等) .

  • 100

    至少在当前的maven版本中,如果您打算从本地仓库中删除依赖项而不重新下载它们,则需要添加交换机-DreResolve = false .

    mvn dependency:purge-local-repository -DreResolve=false
    

    删除依赖项而不再次下载它们 .

  • -1
    • cd ~/.m2

    • git init

    • git commit -am "some comments"

    • cd /path/to/your/project

    • mvn install

    • cd ~/.m2

    • git reset --hard

相关问题