Estou começando a trabalhar com JAVA, e não sei nada sobre o maven.
O problema é o seguinte: Aqui na empresa estou precisando mostrar na tela de um determinado sistema a versão do pom. Alguém tem um exemplo de como fazer isso??
Atenciosamente
Estou começando a trabalhar com JAVA, e não sei nada sobre o maven.
O problema é o seguinte: Aqui na empresa estou precisando mostrar na tela de um determinado sistema a versão do pom. Alguém tem um exemplo de como fazer isso??
Atenciosamente
Rapaz, eu fiz algo somelhante (colocar data do build e versão do SVN em uma tag meta do HTML) colocando esse atributo no “manifesto” da aplicação (arquivo MANIFEST.MF).
Em caso de aplicação web, você colocaria o maven-war-plugin mais ou menos assim:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<dependentWarIncludes>META-INF/*</dependentWarIncludes>
<archive>
<manifestEntries>
<pom-version>${project.version}</pom-version>
</manifestEntries>
</archive>
</configuration>
<executions>
<execution>
<id>generate-manifest2</id>
<phase>package</phase>
<goals>
<goal>manifest</goal>
</goals>
</execution>
</executions>
</plugin>
E no Java, pra pegar esse valor seria algo como:
ServletContext application = contextEvent.getServletContext();
InputStream inputStream = application.getResourceAsStream("/META-INF/MANIFEST.MF");
Manifest manifest = new Manifest(inputStream);
Attributes attributes = manifest.getMainAttributes();
Map<String, String>propsMap = new HashMap<>();
for(Entry<Object, Object> atts: attributes.entrySet()) {
propsMap.put(atts.getKey().toString(), atts.getValue());
}