【问题标题】:Load Maven POM version number into Java Project将 Maven POM 版本号加载到 Java 项目中
【发布时间】:2011-07-12 17:43:41
【问题描述】:

我想向我的 Java 应用程序(在本例中为 Vaadin Portlet)添加版本编号,它在帮助视图中显示版本编号。

问题是该版本号是在我的 Maven 的 POM 文件中定义的版本号(例如 1.1.5-SNAPSHOT),这是我们要更改的版本号(例如在发布时)。

关于如何将它从 POM 中取出并放入 Java 中(例如,字符串)的任何想法? (如果可能的话)

谢谢

【问题讨论】:

    标签: java maven pom.xml


    【解决方案1】:

    使用包含行的过滤属性文件

    version=${project.version}
    

    并从 Java 程序中的类路径加载此属性文件。

    【讨论】:

    【解决方案2】:

    这个问题有很多解决方案

    但我肯定更喜欢第一个,因为在 Java 中访问 MANIFEST.MF 非常容易

    【讨论】:

    【解决方案3】:

    POM 中的版本可作为属性“project.version”使用。表示为 ${project.version}

    所以你应该可以将它与过滤资源一起使用:

    http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html

    最好的方法可能是过滤(和替换)属性文件或部署描述符。

    【讨论】:

      【解决方案4】:

      或者您可以从类路径中读取 maven pom.properties。 pom.properties 位于:
      META-INF/maven/groupid/artifactId/pom.properties

      【讨论】:

      • 这将导致对 Maven 构建的依赖。我宁愿使用包含以标准方式定义的相同信息的 MANIFEST.MF 文件。
      猜你喜欢
      • 1970-01-01
      • 2012-04-11
      • 1970-01-01
      • 2019-04-08
      • 2016-07-20
      • 2018-03-05
      • 2016-02-16
      • 2015-04-01
      • 1970-01-01
      相关资源
      最近更新 更多