it-swarm.com.de

Wie installiere ich manuell ein Artefakt in Maven 2?

Beim Versuch, ein Artefakt manuell mit Maven 2 zu installieren, sind einige Fehler aufgetreten. Ich wollte mit dem Befehl eine JAR-Datei aus einem lokalen Verzeichnis installieren

mvn install:install-file -Dfile=jta-1.0.1B.jar

Aber Maven gab einen Buildfehler aus, der wie folgt lautet:

Invalid task '.01B.jar': you must
specify a valid lifecycle phase, or a
goal in the format plugin:goal or
pluginGroupId:pluginArtifactId:pluginVersion:goal

Liegt ein Fehler mit meinem Befehl vor?

93
liangzan

Sie müssen die Gruppen-ID, die Artefakt-ID und die Version für Ihr Artefakt angeben:

mvn install:install-file \
  -DgroupId=javax.transaction \
  -DartifactId=jta \
  -Dpackaging=jar \
  -Dversion=1.0.1B \
  -Dfile=jta-1.0.1B.jar \
  -DgeneratePom=true
144
Romain Linsolas

Laut maven's Anleitung zum Installieren von JARs von Drittanbietern lautet der Befehl:

mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> \
-DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>

Sie brauchen in der Tat die Verpackungsoption. Dies beantwortet die ursprüngliche Frage.

In Ihrem Kontext kämpfen Sie jetzt mit einem von Sun bereitgestellten Gefäß. Lesen Sie auch die Seite mgang mit Sun JARs . Dort erfahren Sie, wie Sie maven helfen können, bessere Informationen über den Speicherort von Sun jars zu erhalten, und wie Sie Java.net Maven 2-Repository hinzufügen, das enthält jta-1.0.1B.jar. Fügen Sie dies in Ihre settings.xml (nicht tragbar) oder pom.xml (tragbar):

  <repositories>
    <repository>
      <id>maven2-repository.dev.Java.net</id>
      <name>Java.net Repository for Maven</name>
      <url>http://download.Java.net/maven/2/</url>
      <layout>default</layout>
    </repository>
  </repositories>
38
Pascal Thivent

Ich musste eine Verpackung hinzufügen, also:

mvn install:install-file \
  -DgroupId=javax.transaction \
  -DartifactId=jta \
  -Dversion=1.0.1B \
  -Dfile=jta-1.0.1B.jar \
  -DgeneratePom=true \
  -Dpackaging=jar
13
David Durham

Die Antwort ist, dem Gedankenstrich zu entkommen!

http://www.mail-archive.com/[email protected]/msg83991.html

8
S. Bollweber

Wenn bei der Verwendung von Windows PowerShell ähnliche Fehler auftreten, sollten Sie die einfache Befehlszeile von Windows verwenden. Ich habe nicht herausgefunden, was dies verursacht hat, aber PowerShell scheint einige von Mavens Parametern zu interpretieren.

4
Koraktor

Alle geposteten Antworten diskutieren dies zu Recht aus einer streng maven Perspektive. Meine Probleme bestanden darin, diese Installation für Maven unter Verwendung von Netbeans als meine primäre IDE durchzuführen. Ich fand den folgenden Artikel hilfreich.

Gutschrift für den folgenden Artikel im NetBeans-Forum: http://forums.netbeans.org/topic22907.html

  1. Öffnen Sie im Maven-Projekt den Dialog "Abhängigkeit hinzufügen"
  2. Bilden Sie eine groupId, eine artifactId und eine version und füllen Sie diese aus, OK.
  3. Die Abhängigkeit wird zur Datei pom.xml hinzugefügt und unter dem Knoten "Libraries" von maven project angezeigt
  4. Klicken Sie mit der rechten Maustaste auf den Lib-Knoten und "Artefakt manuell installieren", und geben Sie den Pfad zum Jar ein. Jar sollte mit den in Schritt 2) eingegebenen Koordinaten auf dem lokalen Maven Repo installiert werden
2
Paul