Você não precisa acessar arquivos específicos do Maven para obter as informações da versão de qualquer biblioteca / classe.
Você pode simplesmente usar getClass().getPackage().getImplementationVersion()
para obter as informações da versão armazenadas em um arquivo .jar MANIFEST.MF
. Felizmente, o Maven é inteligente o suficiente Infelizmente, por padrão, o Maven não grava as informações corretas no manifesto!
Em vez disso, é necessário modificar o <archive>
elemento de configuração de maven-jar-plugin
to set addDefaultImplementationEntries
and addDefaultSpecificationEntries
to true
, assim:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
</manifest>
</archive>
</configuration>
</plugin>
Idealmente, essa configuração deve ser colocada na empresa pom
ou em outro pom base.
A documentação detalhada do <archive>
elemento pode ser encontrada na documentação do Maven Archive .