Haben Sie ein JAR eines Drittanbieters, das in Maven Shaded JAR enthalten ist, ohne es dem lokalen Repository hinzuzufügen

Ich habe hier bei Stack Overflow bereits eine Antwort gefunden, wie man eine JAR eines Drittanbieters in ein Projekt einbindet, ohne sie in einem "lokalen Repository" zu installieren:

Kann ich maven 2 build classpath jars hinzufügen, ohne sie zu installieren?

Aber wenn ich das Maven Shade Plugin verwende, um eine JAR zu erstellen, die auch alle Abhängigkeiten des Projekts enthält, wird die JAR von Drittanbietern nicht automatisch eingeschlossen.

Wie kann ich dafür sorgen, dass das Maven Shade Plugin eine solche JAR-Datei eines Drittanbieters zur schattierten JAR-Datei hinzufügt?

aut der Antwort habe ich es zum Laufen gebracht. Was ich getan habe, war, dieses Snippet am Anfang meiner pom.xml hinzuzufügen:

<repositories>
  <repository>
    <id>repo</id>
    <url>file://${basedir}/repo</url>
  </repository>
</repositories>

Then fügte eine Abhängigkeit für mein Projekt hinzu, auch zu pom.xml:

<dependencies>
  <dependency>
    <groupId>dummy</groupId>
    <artifactId>dummy</artifactId>
    <version>0.0.0</version>
    <scope>compile</scope>
  </dependency>
</dependencies>

Und führte dann eine Befehlszeile aus, um ein Paket zu 'repo' hinzuzufügen:

mvn org.apache.maven.plugins:maven-install-plugin:2.3.1:install-file
    -Dfile=<my-jar>.jar -DgroupId=dummy -DartifactId=dummy
    -Dversion=0.0.0 -Dpackaging=jar -DlocalRepositoryPath=`pwd`/repo/

(Ich bin mir nicht sicher, ob der Repo-Pfad ein vollständiger Pfad sein muss, wollte aber kein Risiko eingehen.)

Der Inhalt des Repo-Unterverzeichnisses ist jetzt:

repo/dummy/dummy/0.0.0/dummy-0.0.0.jar
repo/dummy/dummy/0.0.0/dummy-0.0.0.pom
repo/dummy/dummy/maven-metadata-local.xml

Nun kann ich dies zur Versionskontrolle einchecken und habe keine lokalen oder Remote-Abhängigkeiten.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage