Pegar a versão dentro do POM.xml

Galera, seguinte tenho o sistema maven e talz, e no aplicativo aparece a versão, quando o sistema está rodando.

Gostaria de pegar a versão dentro do pom.xml.

Alguem ai sabe como fazer isso?

[]'s

${project.version}

eu quero pegar via codigo java.

pra mim setar no title do JFrame a versão.

Eu sei que maven não é minha praia, mas não seria possível fazer com que o processo de compilação gerasse um arquivo properties que fosse empacotado dentro do seu jar, e que contivesse a versão do projeto? Então na hora de mostrar na caixinha de “About” de seu programa, você leria esse properties.

Olá Felagund, como conseguiu resolver esta questão? Pois estou com a mesma duvida.

Olá, vi que as dúvidas são antigas, mas pode ter alguém procurando por essa resposta atualmente. Segue abaixo uma maneira simplificada de como recuperar a versão informada no pom.xml.

		<dependency>
			<groupId>org.apache.maven</groupId>
			<artifactId>maven-model-builder</artifactId>
			<version>3.2.5</version>
		</dependency>

	private String getVersion() {
		try (FileReader reader = new FileReader("pom.xml")) {
			MavenXpp3Reader mReader = new MavenXpp3Reader();
			Model model = mReader.read(reader);
			return model.getVersion();
		} catch (Exception e) {
		    return "";
		}
	}

A classe Model tem toda a estrutura do pom, portanto, é possível recuperar praticamente todas as informações do a partir desse objeto.

Você pode acessar a versão definida no pom.xml diretamente do código-fonte usando o Maven. Uma abordagem comum é usar o plugin maven-resources-plugin para filtrar o arquivo pom.xml e extrair a versão para um arquivo de propriedades. Dessa forma, você pode carregar essa propriedade no seu aplicativo durante a execução para exibir a versão. Se precisar de mais detalhes ou exemplos específicos, posso ajudar a encontrar a melhor solução para o seu caso.