java - java文件中的Maven版本号

我来自 ANT,您可以在其中调用 .java 文件通过执行某些方法来获取版本号。我想在我的新 pom.xml 中做类似的事情来自动获取正确的版本号。我需要该应用程序了解它自己的版本,同时 Maven 需要了解该版本才能做出正确的构建。将版本信息加倍是没有选择的。

或者 Maven 可以在构建期间/之前创建一个新的 .java 文件吗?

我可以想象很多方法来实现这一点,但是在 Maven 项目中是否有最佳实践方法来做到这一点?

最佳答案

在构建 JAR 时,Maven 将 pom.xmlpom.properties 文件写入 META-INF/maven/[group ID]/[ Artifact ID] 目录。然后,您可以在您的应用程序中读取其中之一的版本。

或者,您可以使用 resource filtering 显式编写新的 version.properties 文件。 .

如果您将以下内容放入您的 POM:

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

然后将 version.properties 模板放入 src/main/resources 目录,如下所示:

version = ${project.version}

Maven 将替换从 POM 中读取的版本,然后您的应用程序只需要读取 version.properties 资源并查询 version 键。

https://stackoverflow.com/questions/8829147/

相关文章:

build - CodeBuild 执行在构建失败后继续执行,而不是停止

c# - 错误构建 VSTS : ## [error] Error: Unable to locat

java - 如果未激活另一个配置文件,则激活 Maven 配置文件

parameters - TeamCity 条件参数值

scala - 如何为 SBT 设置默认项目

Maven - 从外部属性文件中读取属性

android - 如何加快 android ndk 构建

ios - 带有 "Release: Fastest, Smallest [-Os]"的 Xcode

qt - Qt的配置有哪些不同的平台

c# - 是否有 Visual Studio 构建探查器?