Как получить версию пакета при запуске Tomcat?
Я пробую getClass (). GetPackage (). GetImplementationVersion (), но это всегда возвращает null
. Я предполагаю, что это потому, что моя война еще не была упакована, а Tomcat выполняет .classes (также известный как взорванная война). META-INF\MANIFEST.MF
присутствует в final war, но не в папке target\<project.name>\META-INF
Объекты пакета содержат информацию о версии реализации и спецификации пакета Java. Эта информация о версиях извлекается и становится доступной экземпляром ClassLoader, который загрузил класс (ы). Обычно он хранится в манифесте, который распространяется вместе с классами.
Связано это с Получить версию артефакта Maven во время выполнения
ОБНОВИТЬ. Раньше я уже добавил конфигурацию для военного билда. Но при запуске Tomcat из Eclipse я получаю null
.
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.1</version>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
</manifest>
</archive>
<!-- this actually moves classes from \WEB-INF\classes to new jar
<archiveClasses>true</archiveClasses>
-->
</configuration>
</plugin>