【问题标题】:Can I remove jar from local repository without pom.xml?我可以在没有 pom.xml 的情况下从本地存储库中删除 jar 吗?
【发布时间】:2019-10-22 21:59:00
【问题描述】:

我通过命令将我的 jar 安装到本地存储库:

mvn install:install-file -Dfile=aaa.jar -DgroupId=bbb -DartifactId=ccc -Dversion=1.0 -Dpackaging=jar

现在我想从存储库中删除它。我尝试命令:

mvn dependency:purge-local-repository -DmanualInclude=bbb-ccc

但得到错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.8:purge-local-repository (default-cli): 目标需要一个项目来执行,但是其中没有 POM目录 (...)。请确认您从正确的目录调用了 Maven。 -> [帮助 1]

然后我用数据创建pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project>
  <groupId>bbb</groupId>
  <artifactId>ccc</artifactId>
  <version>1.0</version>
  <modelVersion>4.0.0</modelVersion>
  <packaging>jar</packaging>

  <properties> 
    <groupId>${project.groupId}</groupId>
    <artifactId>${project.artifactId}</artifactId>
    <version>${project.version}</version>
    <packaging>${project.packaging}</packaging>
    <file>aaa.jar</file>
  </properties>     
</project> 

现在我可以从存储库中删除 jar。但是我可以通过命令行删除而不创建pom.xml吗?

我使用的是 3.2.5 (windows x64)。

【问题讨论】:

  • 据我所知,您无法通过命令行从存储库中删除文件。但是您可以通过从 m2 存储库中删除它来手动完成
  • 是的,我知道这种方式——主文件夹\.m2\repository\bbb\ccc。但似乎不是“真实”的方式:-( ...
  • 没有“真正”的方式。为什么要从存储库中删除某些内容?
  • 当然,不需要移除 jar。我们总是可以再次安装相同版本的新 jar 或安装其他版本的 jar。很难回答...

标签: java maven maven-dependency-plugin


【解决方案1】:

dependency:purge-local-repository 目标,直到当前版本 2.10,需要在 Maven 项目上执行:

需要执行一个 Maven 项目。

此目标的目的之一是从本地存储库中删除 Maven 项目的依赖项,因此它需要一个来执行。这解释了您遇到的错误。

但是,使用此插件,可以指定 manualInclude 参数,这将删除任何指定为 groupId:artifactId:version 或所有版本的 groupId:artifactId 甚至是 groupId 下的所有依赖项。因此,可以将插件更新为不需要执行 Maven 项目。

我继续创建了 JIRA 问题 MDEP-537 来跟踪此添加,并将在版本 3.0.0 中修复此问题。

【讨论】:

    【解决方案2】:

    正如Tunaki 在他的回答中提到的那样,他要求 MDEP-537 使依赖插件能够在没有 Maven 项目的情况下进行清除。这已经从版本3.0.0 开始实施。

    如果您只运行mvn dependency:purge-local-repository,您可能会运行旧版本。例如。我的 Maven 3.6.0 带有依赖插件版本 2.8.0

    所以你应该运行特定版本的插件

    mvn org.apache.maven.plugins:maven-dependency-plugin:3.0.0:purge-local-repository -DmanualInclude=...
    

    【讨论】:

      猜你喜欢
      • 2012-06-29
      • 2013-10-23
      • 1970-01-01
      • 1970-01-01
      • 2021-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多