Führen Sie java-jar - no main manifest-Attribut-Fehler
Habe ich erstellt einfache java-Programmen (maven-pom ), das wenn ich einen Befehl mit CMD sollte es erstellt eine Datei unter dem angegebenen Pfad... ich Mach mvn clean install
welche erfolgreich abgeschlossen wird,
Jetzt möchte ich dieses erstellte jar von der Befehlszeile wie die folgende:
java -jar "/Users/i012/IdeaProjects/myproj/target/test.rts-1.0-SNAPSHOT.jar" path2genfile2create
Sollte mein Programm (das das erste mal, dass ich versuche, so etwas wie dieses...)
Aber die Fehler, die ich bekommen ist:
no main manifest attribute, in /Users/i012/IdeaProjects/myproj/target/test.rts-1.0-SNAPSHOT.jar
Was könnte hier fehlen ? die manifest-Attribut ?
Die Fehler kommen nicht von der Klasse, die ich erstellt habe ...
habe ich einige META-INF/MANIFEST.MF nicht helfen, aber vielleicht ist es falsch
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn du das Maven-assembly-plug-in, oder Ihre IDE Werkzeug ist, benötigen Sie ein
mainClass
element. Dies ist, was ich verwenden:main()
Methode, die Sie ausführen möchten, wieMain-class: my.package.MainClass
./src/main/java/myclass
das wird nicht funktionieren...myproj->src->main->java>myclass
myclass
. Wedersrc
nochmain
nochjava
ist Teil des Paketnamens, und weder ist/
. Soweit ich sehen kann, haben Sie nicht das Paket name.package
Erklärung in der Quell-als auch. Für maven-assembly-plugin, ich benutze das, wenn ich will, zu bündeln und alles in eine große ausführbare JAR-Datei. Ich behaupte nicht, dass es der einzige Weg ist, oder sogar eine gute Möglichkeit. Es ist genau das, was für mich funktioniert.Ein manifest ist eine Datei im Pfad " META-INF/MANIFEST.MF in der jar-Datei, die definiert Attribute, wie der classpath und die main-Klasse für die Ausführung der jar-Datei.
Die grundlegende Struktur wäre wie:
Können Sie definieren, ist Ihr Einstiegspunkt, indem die Eigenschaft
Main-Class: classname
.Um Ihre jar-Datei mit einem bestimmten manifest können Sie:
jar cfm MyJar.jar Manifest.txt MyPackage/*.class
manuell zu erstellen, ein Glas mit dem angegebenen manifestieren und Klassen.Erfahren Sie mehr über die jar-manifest-Datei hier.
in meinem Fall war ich mit spring-boot-aber das habe ich nicht erwähnt, mein Baumeister in meine pom so habe ich es behoben, indem:
Benötigen Sie eine main-Klasse zum ausführen von Sie Anwendung. Versuchen Sie die folgenden. Es funktionierte für mich.
Fügen Sie den folgenden code-snippet auf Ihrer pom.xml Datei wenn Sie mit maven-build-tool.