Ich arbeite an einem Spring-Boot-Projekt (Projekt A), das in anderen Projekten (Projekt B, Projekt C ...) enthalten sein würde. Ich habe mehrere Abhängigkeiten in Projekt A, aber in dem Projekt, das Projekt A importiert, kann einige oder nur eine erforderlich sein. Ich versuche, einen Weg zu finden, um die Jar-Abhängigkeiten während des Packens von Projekt A auszuschließen, so dass die benötigten von Project B während der Laufzeit bereitgestellt werden. Ich möchte die Abhängigkeiten verfügbar haben, wenn das Projekt A für Testzwecke unabhängig ausgeführt wird.Spring-Boot: Abhängigkeiten von der Verpackung ausschließen
bereits versucht, die folgenden
ich verwendet hat versucht:
<scope>provided</scope>
<optional>true</optional>
noch die Gläser in dem letzten Artefakt enden.
auch versucht, den folgenden auf die Feder-boot-Maven-Plugin
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
<configuration>
<excludeArtifactIds>spring-boot-starter-redis</excludeArtifactIds>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
Dies würde die Feder-Boot-Abhängigkeit nur entfernen, aber die Gläser für die Kinder dieser Abhängigkeit würden immer noch in dem am Ende endgültiges Artefakt.
Ich habe die Methode verwendet, die Sie mit der angegeben haben, und mein Problem wurde gelöst. Dadurch werden die ** artifact-exec.jar ** und ** artefact.jar ** erstellt, wobei ** artefact.jar ** als Bibliothek verwendet werden kann und ** artect-exec.jar ** zum Ausführen als verwendet werden kann eigenständige. Saubere Lösung ohne irgendwelche Hacks zu Pom-Datei. Danke Cèsar :) –
Sandheep