Ok, версия должны быть распечатана, если я построить проект и запустить его через java -jar. Но если я запустил приложение в своей IDE (IntelliJ IDEA), версия не будет напечатана.
Согласно загрузки документации Spring на Customizing the Banner, значение ${application.version}
берется из баночки манифеста.
Номер версии вашего заявления, указанный в MANIFEST.MF. Например, Version-Version: 1.0 печатается как 1.0.
При запуске из IDE это типично для выполнения для файлов классов, скомпилированных с помощью IDE. IDE обычно не проходит полный цикл построения всей банки с манифестом. Таким образом, во время выполнения MANIFEST.MF не используется для замены значения ${application.version}
, и вы остаетесь с голым токеном.
Это не ошибка в коде, и вы уже видели, что он работает правильно при выполнении полной сборки jar. Если это действительно важно, чтобы исправить это, работая через среду IDE, вы можете подумать о настройке пользовательского шага сборки, который сначала пройдет через полную сборку флага и манифеста. Это, вероятно, слишком много. Баннер может быть проверен позже вне IDE, протестировав его с реальной версией сборника.
Это работало отлично для меня. Я создал проект из start.spring.io. Затем я добавил файл src/main/resources/banner.txt с содержимым, ссылающимся на '$ {application.version}'. Затем я перепрограммировал './mvnw чистый пакет'. Затем я запускал java -jar target/demo-0.0.1-SNAPSHOT.jar'. Он напечатал «0.0.1-SNAPSHOT», как ожидалось. Если это не работает для вас, вы хотите предоставить более подробную информацию, например, возможно, файл banner.txt? –
Хорошо, версия печатается, если я строю проект и запускаю его через java -jar. Но если я запустил приложение в своей IDE (IntelliJ IDEA), версия не будет напечатана. В чем проблема? – pas2al