Getting maven project version and artifact ID from pom while running in Eclipse

后端 未结 2 442
-上瘾入骨i
-上瘾入骨i 2020-12-08 09:43

I was looking up how to get the application name(artifact id) and version from maven pom or manifest when I came across this question Get Maven artifact version at runtime.<

2条回答
  •  一向
    一向 (楼主)
    2020-12-08 10:32

    Create a property file

    src/main/resources/project.properties
    

    with the below content

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

    Now turn on maven resource filtering

      
        src/main/resources
        true
      
    

    so that this file is processed into

    target/classes/project.properties
    

    with some content similar to this

    version=1.5
    artifactId=my-artifact
    

    Now you can read this property file to get what you want and this should work every time.

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

提交回复
热议问题