Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我可以在没有pom.xml的情况下从本地存储库中删除jar吗?_Java_Maven_Maven Dependency Plugin - Fatal编程技术网

Java 我可以在没有pom.xml的情况下从本地存储库中删除jar吗?

Java 我可以在没有pom.xml的情况下从本地存储库中删除jar吗?,java,maven,maven-dependency-plugin,Java,Maven,Maven Dependency Plugin,我通过以下命令将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 现在我想从存储库中删除它。我尝试命令: mvn install:install-file -Dfile=aaa.jar -Dgr

我通过以下命令将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
现在我想从存储库中删除它。我尝试命令:

mvn install:install-file -Dfile=aaa.jar -DgroupId=bbb -DartifactId=ccc -Dversion=1.0 -Dpackaging=jar
mvn dependency:purge-local-repository -DmanualInclude=bbb-ccc
但是得到错误:

[错误]未能执行目标org.apache.maven.plugins:maven依赖插件:2.8:purge local repository(默认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> 

bbb
ccc
1
4.0.0
罐子
${project.groupId}
${project.artifactId}
${project.version}
${project.packaging}
aaa.jar
现在我可以从存储库中删除jar了。但是我可以通过命令行删除而不创建
pom.xml

我正在使用3.2.5(windows x64)。

在当前版本2.10之前,目标需要在Maven项目上执行:

需要执行一个Maven项目

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

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

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

如他的回答中所述,他要求MDEP-537使依赖插件能够在没有Maven项目的情况下清除。这是自版本
3.0.0
以来实施的

如果只运行
mvn依赖项:清除本地存储库
,则可能运行较旧版本。例如。my Maven
3.6.0
附带依赖插件版本
2.8.0

因此,您应该运行插件的特定版本:

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

正如我所知,您不能通过命令行从存储库中删除文件。但是你可以从m2存储库中手动删除它是的,我知道这种方法-主文件夹\.m2\repository\bbb\ccc。但似乎不是“正确”的方式:-(…没有“正确”的方式。为什么要从存储库中删除某些内容?当然,不需要删除jar。我们总是可以用相同的版本重新安装新jar或用其他版本安装jar。很难理解。。。