Java 我可以在没有pom.xml的情况下从本地存储库中删除jar吗?
我通过以下命令将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
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 Maven3.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。很难理解。。。