Die in der Datei banner.txt definierte Anwendungsversion wird beim Ausführen der Anwendung nicht in der Konsole angezeigt. Es ist gemäß den Dokumenten von Spring Boot
%Vor%Das Projekt verwendet den Befehl spring-boot-starter-parent als Eltern-Pom (Grundlegende Projekteinrichtung von start.spring.io )
Ok, die Version wird gedruckt, wenn ich das Projekt erstelle und es über java -jar laufe. Aber wenn ich die Anwendung innerhalb meiner IDE (IntelliJ IDEA) starte, wird die Version nicht gedruckt.
Gemäß der Spring-Boot-Dokumentation zu Anpassen des Banners , der Wert von ${application.version}
wird aus dem jar-Manifest genommen.
Die Versionsnummer Ihrer Anwendung, wie in MANIFEST.MF angegeben. Zum Beispiel wird Implementation-Version: 1.0 als 1.0 gedruckt.
Wenn Sie von einer IDE aus arbeiten, ist es typisch, dass die Ausführung gegen die von der IDE kompilierten Klassendateien auftritt. Die IDE durchläuft typischerweise nicht einen vollständigen Zyklus zum Erstellen des gesamten Jar mit einem Manifest. Daher ist keine MANIFEST.MF zur Laufzeit verfügbar, um den Wert von ${application.version}
zu ersetzen, und Sie bleiben mit dem nackten Token.
Dies ist kein Fehler in Ihrem Code, und Sie haben bereits gesehen, dass er bei einem vollständigen JAR-Build korrekt funktioniert. Wenn es wirklich wichtig ist, dies beim Ausführen der IDE zu beheben, können Sie einen benutzerdefinierten Buildschritt einrichten, der zuerst die vollständige JAR-Erstellung und die Manifestgenerierung durchläuft. Das ist wahrscheinlich zu viel. Das Banner könnte später außerhalb der IDE validiert werden, indem es gegen einen echten Release-Build des Jars getestet wird.
In meinem Fall schaue ich in das Manifest von Spring-Boot-Maven-Plugin und es gab keine Implementierung-Version in.
Um es hinzuzufügen, füge ich das Plugin maven-jar-plugin in den Abschnitt build.plugins meiner pom.xml ein.
%Vor%Danach, wie bereits erwähnt, kann ich das Banner mit der Anwendungsversion nur sehen, wenn ich java -jar mache und nicht mit meiner Idee
Tags und Links java maven spring spring-boot banner