Frage

Gibt es einen Maven-Client, der nicht MVN ist (die Binärdatei mit der Maven-Distribution enthält) konnte ich einen Artefakt aus einem Maven-Repository herunterzuziehen benutzen, ohne einen pom zu verwenden? Ich möchte ein Maven-Repository als Repo verwenden für unsere ops Team baut abholen (einschließlich Snapshots Ich Builds), will aber nicht sie um in ihnen mit dem Schreiben Poms und erklären Abhängigkeiten zu verwirren zu lassen. Im Idealfall, ich suche nur für einen cli-Client, die ich gerade in einer Repo-URL und Koordinaten und downloaden Sie einen bestimmten Artefakt passieren könnte. Ist so etwas existieren, oder bin ich besser dran, das Schreiben eines Einmal Skript für das?

War es hilfreich?

Lösung

Mit Nexus. Es bietet eine Web-Schnittstelle, die anderen Teams verwenden können Artefakte zum Download bereit. http://nexus.sonatype.org/

Andere Tipps

Ich sehe drei einfache Optionen:

  1. Senden Sie einfach ihnen einen Link zeigt auf Ihrem Artefakt in Ihrem Repository und haben sie ihren Browser verwenden.
  2. Installieren und verwenden wget (wget http://path/to/artifact.extension).
  3. Installieren und verwenden Sie mvn dependency:get (erfordert mvn aber nicht ein pom.xml benötigen, finden Sie unter diese Antwort für weitere Details).

Mit dem Maven Embedder . Mehr zu dem Punkt, für die Lösung und das Herunterladen von Gläsern, die Funktionalität innerhalb des Maven Embedder verwenden. Obwohl, wenn Sie versuchen, nur eine einfache CLI zu schreiben, ist die Repository-Struktur nicht komplex und man konnte leicht ein Skript schreiben, die eine Maven-Repo-URL, Artefakt-ID nimmt, Gruppen-ID und Version zu erzeugen, um die vollständige URL in das Gefäß.

Dies ist, wie wir es in jcabi-Äther :

final File repo = this.session.getLocalRepository().getBasedir();
final Collection<Artifact> deps = new Aether(this.getProject(), repo).resolve(
  new DefaultArtifact("junit", "junit-dep", "", "jar", "4.10"),
  JavaScopes.RUNTIME
);

Alles, was Sie zu diesem lib zur Verfügung stellen müssen 1) eine Liste des Remote-Repositories, 2) Standort eines lokalen Repo und 3) Maven Koordinaten des Artefakts. Die Bibliothek verwendet Apache Äther von Sonatype.

Nun technisch wird das Repository über HTTP zugegriffen wird, so dass die Repository-Position gegeben, Artefakt und Koordinaten, es sollte nur möglich sein, Ihre ops eine URL-Team das Artefakt zu geben, dass sie in jedem Browser schlagen können.

Denken Sie über Pax URL , die Sie Maven Artefakte verweisen verwenden Ebene URLs können wie folgt:

mvn:groupId/artifactId/version

Siehe PAX Website URL für weitere Informationen (MVN Protocol Handler).

Toni

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top