【问题标题】:Generate random number during Maven build在 Maven 构建期间生成随机数
【发布时间】:2013-03-27 09:23:26
【问题描述】:

是否有一个插件(或其他简单的方法)来生成一个“随机”数字作为 Maven 构建的一部分?我想将此编号分配给一个属性,然后我可以在pom.xml 文件中将其用于其他目的,例如过滤值。

数字不一定是完全随机的(因此是引号),使用当前时间戳作为种子的东西完全可以。

【问题讨论】:

  • 请考虑 gmaven-plugin 提到stackoverflow.com/questions/3984794/…
  • 是的,我在寻找可能的解决方案时看到了该选项。不过,时间戳使用起来更简单,而且对我来说效果很好。

标签: java maven random


【解决方案1】:

maven 的默认安装提供了一个名为maven.build.timestamp 的变量,它为您提供了一个时间戳。您可以使用控制格式

  <properties>
    <maven.build.timestamp.format>yyyyMMdd-HHmm</maven.build.timestamp.format>
  </properties>

遵循SimpleDateFormat 规则。因此,您可以简单地使用 ${maven.build.timestamp} 来获取格式化的时间戳 :)

http://maven.apache.org/guides/introduction/introduction-to-the-pom.html#Available_Variables

【讨论】:

  • 我实际上是在要求一个随机数,但时间戳也可以。谢谢!
【解决方案2】:

你可以使用时间戳maven插件:http://code.google.com/p/maven-timestamp-plugin/

它以您喜欢的格式在 maven 属性中生成时间戳。

【讨论】:

  • 我实际上是在要求一个随机数,但时间戳也可以。我接受另一个答案,因为它不需要额外的插件。
【解决方案3】:

您可以使用randomid-maven-plugin

  <plugin>
    <groupId>org.infrastructurebuilder.maven</groupId>
    <artifactId>randomid-maven-plugin</artifactId>
    <version>0.9.2</version> <!-- r
    <configuration>
      <randomConfigs>
        <randomConfig>
          <name>random</name> <!-- Default value -->
          <length>16</length>
          <lower>2</lower>
        </randomConfig>
      </randomConfigs>
    </configuration>
  </plugin>

您可以更改特殊字符集、长度等,它会让您生成一个随机 UUID 作为属性。

请注意,这产生不可重复的构建。这就是随机的本质。但是,如果您只是注入一个将在下游使用但对可重复性无关紧要的值,那么这就可以解决问题。

【讨论】:

    猜你喜欢
    • 2020-08-19
    • 1970-01-01
    • 2013-02-05
    • 1970-01-01
    • 1970-01-01
    • 2014-02-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多