maven - 如何从 Jenkins 访问 Maven 属性?

标签 maven jenkins maven-3 pom.xml

我有一个 Maven 项目,其中有一个属性。我想从 Jenkins 访问它。

POM 片段:

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <timestamp>${build.time}</timestamp>
    <outputFolder>C:/AutomationTestReports/${project.name}/ExecutionReport${timestamp}</outputFolder>
</properties>

此输出文件夹属性在运行时进行评估。我想在 Jenkins 中访问此属性以导航到根据时间戳生成的输出文件夹。为此,我需要在 Jenkins 中捕获此输出文件夹属性,但我无法做到。

仅使用此输出文件夹,我将能够导航到该文件夹​​以访问结果文件。

问题 :如何从 Jenkins 工作访问 Maven 属性?

最佳答案

在当前版本的 Jenkins 中,使用“readMavenPom()”有一种很好且简单的方法来实现这一点。

比如我想读取pom.xml文件的版本。但如果它使用较新的 maven “修订版”实践,我需要从 pom.xml 中定义的属性中读取该“修订版”值。

      def pomVersion = readMavenPom().version   // read version
      if (pomVersion.equals("\${revision}"))    // using revision strategy, read revision property
      {
        pomVersion = readMavenPom().properties['revision']
      }

所以最好的方法是使用
readMavenPom().properties['PROPETY_NAME']

关于maven - 如何从 Jenkins 访问 Maven 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36790763/

相关文章:

maven-2 - Maven WAR Overlays - 包括解压的依赖项

maven-plugin - 在 Maven 3 中已弃用的 MavenProjectBuilder 的替代品是什么?

Maven 使用但未声明的依赖项

java - Maven 可执行 jar 打包 vs Maven exec with Jackson 不工作

java - spring boot 无法使用 Intellij 连接 MYSQL 数据库

java - 在 Cucumber 中的步骤定义之间共享状态

maven-2 - 有没有办法让 Maven 为我的本地存储库的所有依赖项安装 javadoc?

hudson - 如何隐藏 hudson/jenkins 网页上的 WorkSpace 链接?

android - Maven不会因引入的编译错误而失败

jenkins - 如何从 Jenkins 中删除用户