2016-08-16 3 views
2

Ich installiere mein Glas zu lokalen Repository mit dem Befehl:Kann ich jar aus dem lokalen Repository ohne pom.xml entfernen?

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

Jetzt ist es aus dem Repository I entfernt werden soll. Ich versuche Befehl:

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

Aber bekommen Fehler:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.8:purge-local-repository (default-cli): Goal requires a project to execute but there is no POM in this directory (...). Please verify you invoked Maven from the correct directory. -> [Help 1]

Dann erstelle ich pom.xml mit Daten:

<?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> 

Jetzt kann ich jar aus dem Repository entfernen. Kann ich aber über die Befehlszeile entfernen, ohne pom.xml zu erstellen?

Ich benutze 3.2.5 (Windows x64).

+0

Wie ich weiß, können Sie Dateien nicht aus dem Repository über die Befehlszeile entfernen. Aber Sie können es manuell tun, indem Sie es aus dem M2-Repository löschen – Jens

+0

Ja, ich weiß über diesen Weg - Home-Ordner \ .M2 \ Repository \ BBB \ CCC. Aber scheint nicht "wahr" Weg :-(... –

+0

Es gibt keine "wahre" Art. Warum möchten Sie etwas aus dem Repository entfernen? – Jens

Antwort

4

Das dependency:purge-local-repository Ziel, bis zur aktuellen Version 2.10, muss auf einem Maven-Projekt ausgeführt werden:

Requires a Maven project to be executed.

Einer des Zwecks dieses Ziels ist es aus dem lokalen Repository die Abhängigkeiten einer Maven zu entfernen Projekt, also muss es ausgeführt werden. Dies erklärt den Fehler, den Sie haben.

Doch mit diesem Plugin ist es möglich, einen manualInclude Parameter angeben, die jede Abhängigkeit als groupId:artifactId:version oder alle Versionen von groupId:artifactId oder sogar alles unter einem groupId angegeben werden entfernen. Daher könnte das Plugin aktualisiert werden, so dass kein Maven-Projekt ausgeführt werden muss.

Ich ging voran, erstellt die JIRA-Ausgabe MDEP-537, um diesen Zusatz zu verfolgen, und wird dies für Version 3.0.0 beheben.

Verwandte Themen