Die gleiche Antwort wie ich hier gepostet habe: Wie führe ich eine Klasse in einer WAR über die Befehlszeile aus?
Schritt 1: Die War-Datei auspacken.
%Vor%Schritt 2: Bewegen Sie sich in das Verzeichnis
%Vor%Schritt 3: Führen Sie Ihren main mit allen Abhängigkeiten
aus %Vor%WAR-Dateien sind für die Servlet-Container-Bereitstellung gedacht und nicht für die eigenständige Ausführung.
Daher gibt es keine einfache Möglichkeit, das zu tun, was Sie wollen. Verwenden Sie ausführbare Dateien für die Hauptmethodenanwendung.
Der Eintrittspunkt eines Krieges ist keine Hauptmethode wie für eine Anwendung. Der Einstiegspunkt eines Krieges wäre die Datei web.xml, die vom Anwendungsserver gelesen und zum Zuordnen von URLs zu Servlets verwendet wird.
Wenn Sie wirklich einen Krieg testen müssen, könnten Sie einen eingebetteten Anwendungsserver wie Jetty verwenden.
Anders als beim ausführbaren jar wird es keine ausführbare WAR-Datei geben und warum sollte man die Klasse in der WAR-Datei ausführen. Klassen in Kriegsdateien werden direkt / indirekt vom Webcontainer / Server geladen. Wenn Sie wirklich eine Klasse in einem Jar ausführen möchten, das sich in der WAR-Datei befindet, dann können Sie das JAR wie gewohnt in den Klassenpfad einfügen.