Ich habe ein Maven-Projekt, das von 2 anderen lokalen Projekt und einer Vielzahl von 3rd-Party-Gläser abhängt. Ich möchte die JAR-Datei auf einen anderen Computer verschieben und die Anwendung von dort ausführen. Ich habe den Befehl mvn exec: exec ausprobiert, konnte aber die 2 lokalen Projekte nicht finden, was sinnvoll ist. Wie bekomme ich dieses Szenario zu arbeiten? Die Maschine, auf der die Anwendung installiert werden soll, ist darin enthalten und ist mit dem Internet verbunden, so dass sie bei Bedarf die in der Pom genannten Gläser herunterladen kann.Run Maven-Projekt mit Abhängigkeiten von der Kommandozeile
Antwort
Verwenden Sie Maven-assembly-plugin, um ein jar-with-dependencies zu erstellen, das zur Ausführung von mvn package
führt, wodurch ein einfacher bereitstellbares Paket erstellt wird.
Ich konnte wirklich nicht viel von der obigen Antwort verstehen. Maven sieht kompliziert für mich aus. Auf jeden Fall habe ich herausgefunden, wenn Sie dies dann tun, um Ihr Problem
Zuerst in pom.xml Datei hinzufügen, um dieses Plugin in build Abschnitt weiter unten
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
Ich denke-Glas mit Abhängigkeiten gezeigt genau wie gelöst wird ist der Trick
nun diese Folge von Befehlen aus dem Stammverzeichnis folgen (wo die pom.xml existiert)
mvn compile
mvn package
mvn install assembly:assembly
Ich weiß nicht, ob mvn-Paket erforderlich ist oder nicht, aber das dritte ist wichtig. Jetzt, wenn Sie Ihr Ziel sehen/Sie werden ein Glas mit Abhängigkeit sehen.
Wie
java -cp target/Your-Jar-1.0-SNAPSHOT-jar-with-dependencies.jar com.mycode.myapp
dies Ihr laufen Java-Programmcode com.mycode.myapp main-Methode laufen ... (Disclaimer: Ich bin kein Experte in Maven, aber das ist für mich gearbeitet hat)
- 1. Run vim Skript von vim Kommandozeile
- 2. run Kommandozeile sqlite3 Abfrage und beenden
- 3. npm run cmd ausfällt, während cmd auf der Kommandozeile arbeitet
- 4. Run Shell-Skript (mit Parametern) auf Windows-Kommandozeile über Plink
- 5. Run Maven Enforcer Plugin-Regel auf der Kommandozeile
- 6. von der Kommandozeile
- 7. Fehler beim Ausführen von run-android aufgrund von Abhängigkeiten
- 8. Schnelle Benchmark von der Kommandozeile
- 9. laufen Mops von der Kommandozeile
- 10. Probleme Xcode von der Kommandozeile
- 11. Herunterladen einer Datei von der Kommandozeile mit Python
- 12. libreoffice - run (python) Makro zum Einfügen eines Querverweises von der Gnu/Linux Kommandozeile
- 13. Wie groovy mit 'java' von der Kommandozeile aufgerufen werden kann
- 14. Run-Befehl nach gesamter Schleife beendet in Windows-Kommandozeile
- 15. Erstellen von Xcode-Projekt von der Kommandozeile
- 16. Abhängigkeiten von Abhängigkeiten mit browserify-shim shimmen
- 17. Gurken `-Tags` Optionen von der Kommandozeile?
- 18. MySQL Backup und Restore von der Kommandozeile
- 19. Python: Eingabe für Funktion von der Kommandozeile
- 20. ausschließen Verzeichnisse von der Kommandozeile Ausgabe
- 21. PostgreSQL CSV-Import von der Kommandozeile
- 22. groovy Skript von der Kommandozeile ausgeführt
- 23. Installieren Sie einen vimball von der Kommandozeile
- 24. Wie kompiliere ich APK von der Kommandozeile?
- 25. Holen Sie NuGet.exe Version von der Kommandozeile
- 26. Run Pitest von der Befehlszeile
- 27. Start Weka von der Kommandozeile über C#
- 28. nuget Abhängigkeiten von Abhängigkeiten
- 29. PIP Anheben Syntax von der Kommandozeile
- 30. Wie grails Konfiguration von der Kommandozeile überschreibt
Dies ist ** NICHT ** der empfohlene Weg, dies zu tun. Sogar die Maven-Assembly-Plugin-Seite http://maven.apache.org/plugins/maven-assembly-plugin/ schlägt vor, das Maven Shade Plugin zu verwenden, um ein Jar mit allen Abhängigkeiten zu erstellen – InformedA