Wie zum ausführen von maven erzeugte jar-CLI
Ich versuche, ein maven-Projekt gelungen, auf der Kommandozeile ausgeführt.
Habe ich eine Reihe von Abhängigkeiten in der pom.xml die anschließend heruntergeladen und installiert Sie in der ~/.m2/repository/. Ich habe den notwendigen config in meiner pom fügen Sie der classpath auf das jar-manifest.
Nun das problem ist, ich bin versucht, die jar so: java-jar project-SNAPSHOT.jar.
Java nicht finden können, die Abhängigkeiten heruntergeladen (ich nehme an da sind Sie zu finden, ohne die Pfade im manifest?) aber ich bin mir nicht sicher, wie man am besten diese Ausführung zu erhalten.
InformationsquelleAutor Nick | 2012-10-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Optionen 1:
Die jar erstellt wird, nicht die abhängigen jar-Dateien. So, Sie brauchen, um zu sagen, java-Klassen-Pfad, wo alle abhängigen jars sind
Option 2:
Die einfachere und bessere Lösung ist die Verwendung
AppAssembler
plugin. Was es tut, es Pakete, die dein jar in ein Verzeichnis-Struktur, die enthälthaben Sie einen Blick hier http://www.mojohaus.org/appassembler/appassembler-maven-plugin/
Option 3:
Wenn Sie nicht möchten, dass alle Gepäck-und wollte nur ein
jar-with-dependency
Sie können möchten finden Sie hier Wie kann ich ein ausführbares JAR mit Abhängigkeiten mit Maven?
Diese enthält alle abhängigen jars.
Edit 1: Für Option 1, Brad M erwähnt, können Sie eine Liste der alle Ihre Projekt-Abhängigkeiten mit der dependency plugin.
dependency:build-classpath
Genial - das ist genau das was ich brauchte. Gibt es irgendwelche Vorsichtsmaßnahmen, mit Verpackung alles wie dies oder ist es alles ok. Speichernutzung etc?
Nein, nichts. Die sehr einfache Stoffe, wie 1. machen jar, 2. kopieren von abhängigen in einem repo-Ordner, 3. schreiben Sie ein shell-Skript, das ungefähr so aussieht
java -jar ../myapp.jar Mainclass -cp ../repo/*.jar
re Option 1, erhalten Sie eine Liste der alle Ihre Projekt-Abhängigkeiten mit der dependency-plugin.
dependency:build-classpath
vielen Dank, aktualisiert die Antwort.
InformationsquelleAutor Nishant
Finden Sie weitere Beispiele hier: 3 Wege, um die Ausführung von Java main aus dem Maven.
[ERROR] Unknown lifecycle phase ".mainClass=my.Main"
InformationsquelleAutor messivanio