Springboot-gepacktes JAR, verwenden Sie Java -cp, um einen Fehler zu melden: Die Hauptklasse wurde nicht gefunden oder kann nicht geladen werden

Frage

Springboot-gepacktes JAR, verwenden Sie Java -cp, um einen Fehler zu melden: Die Hauptklasse wurde nicht gefunden oder kann nicht geladen werden

Lösung

Es gibt einige Unterschiede zwischen den von Springboot gepackten Dateien und der allgemeinen Java-Startmethode.

Es muss geändert werden, um den folgenden Befehl zu verwenden, und dann die Klasse hinzufügen: org.springframework.boot.loader.PropertiesLauncher wie folgt:
java -cp .:test-0.0.1-SNAPSHOT.jar -Dloader.main=com .aa.common org.springframework .boot.loader.PropertiesLauncher

Kommentar

org.springframework.boot.loader.PropertiesLauncherEs handelt sich um eine spezielle Starterklasse in Spring Boot. Seine Hauptaufgabe besteht darin, die Eigenschaftendatei einer Spring Boot-Anwendung zu laden und zu analysieren und diese Eigenschaften beim Starten der Anwendung auf den Anwendungskontext anzuwenden.

Im Einzelnen PropertiesLauncherist er für folgende Aufgaben verantwortlich:

  1. Laden der Eigenschaftendatei der Anwendung: Spring Boot-Anwendungen verwenden normalerweise application.propertiesoder- application.ymlDateien, um die Eigenschaften der Anwendung zu konfigurieren. PropertiesLauncherVerantwortlich für das Laden dieser Eigenschaftendateien, damit die Anwendung diese Konfigurationen verwenden kann.

  2. Analysieren Sie die Eigenschaften in der Eigenschaftendatei: PropertiesLauncherAnalysieren Sie die Schlüssel-Wert-Paare in der Eigenschaftendatei und konvertieren Sie sie in Eigenschaften für die Spring Boot-Anwendung. Diese Eigenschaften können im Kontext der Anwendung verwendet werden, um verschiedene Komponenten und Verhaltensweisen zu konfigurieren.

  3. Unterstützung für externe Eigenschaften bereitstellen: Zusätzlich zur Standardeigenschaftendatei PropertiesLauncherwird auch das Laden externer Eigenschaften unterstützt. Mithilfe von Befehlszeilenargumenten oder Umgebungsvariablen können Sie zusätzliche Eigenschaftendateien oder Eigenschaftswerte angeben, die mit den Standardeigenschaften der Anwendung zusammengeführt werden.

  4. Umgang mit Platzhaltern für Eigenschaftswerte: In einer Eigenschaftendatei können Sie ${...}Platzhalter verwenden, um auf die Werte anderer Eigenschaften zu verweisen. PropertiesLauncherVerantwortlich für das Parsen dieser Platzhalter und deren Ersetzung durch die richtigen Attributwerte.

Kurz gesagt org.springframework.boot.loader.PropertiesLauncherhandelt es sich um eine Starterklasse von Spring Boot, die zum Laden und Analysieren der Eigenschaftendatei der Anwendung und zum Anwenden dieser Eigenschaften auf den Anwendungskontext verwendet wird. Es spielt beim Starten einer Spring Boot-Anwendung eine wichtige Rolle und stellt sicher, dass die Anwendung die richtige Konfiguration und die richtigen Eigenschaften verwendet.

おすすめ

転載: blog.csdn.net/Mint6/article/details/131773930