tutorial que pom groupid español comandos artifactid artefact and java maven-3 pom.xml

java - que - Obtención de la versión del proyecto maven y la ID de artefacto de pom mientras se ejecuta en Eclipse



maven tutorial español (1)

Estaba buscando la forma de obtener el nombre de la aplicación (identificación del artefacto) y la versión de maven pom o manifiesto cuando me encontré con esta pregunta.

Lo anterior me funciona cuando empaqueto el proyecto, pero parece que no consigo que nada funcione cuando intento ejecutar el programa utilizando eclipse. Intenté usar el método .properties al compilar, ya que asumí que no depende del paquete, pero aún no obtengo un resultado. Si alguien tiene una idea o solución para este problema, sería muy apreciado.

Mi último intento es a continuación. Esto usa el manifiesto cuando está empaquetado (lo que funciona) y trata de obtener el archivo .properties cuando se ejecuta en eclipse.

String appVersion = getClass().getPackage().getImplementationVersion(); if(appVersion == null || "".equals(appVersion)) { appVersion = Glob.getString(appVersion); if(appVersion == null || "".equals(appVersion)) { System.exit(0); } }


Crear un archivo de propiedades

src/main/resources/project.properties

con el contenido de abajo

version=${project.version} artifactId=${project.artifactId}

Ahora activa el filtrado de recursos de Maven.

<resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource>

para que este archivo sea procesado en

target/classes/project.properties

con algún contenido similar a este

version=1.5 artifactId=my-artifact

Ahora puede leer este archivo de propiedades para obtener lo que desea y esto debería funcionar siempre.

final Properties properties = new Properties(); properties.load(this.getClassLoader().getResourceAsStream("project.properties")); System.out.println(properties.getProperty("version")); System.out.println(properties.getProperty("artifactId"));