有没有办法在ANT中生成一个guid?

Eug*_*e M 15 ant guid

我有一个ant脚本来管理构建过程.对于WiX,我需要在生成新版本的安装程序时生成新的guid.任何人都知道如何在ANT中做到这一点?任何使用内置任务的答案都会更好.但如果我必须添加另一个文件,那很好.

mar*_*ton 25

我将使用一个scriptdef任务来定义包装Java UUID类的简单javascript任务,如下所示:

<scriptdef name="generateguid" language="javascript">
    <attribute name="property" />
    <![CDATA[
    importClass( java.util.UUID );

    project.setProperty( attributes.get( "property" ), UUID.randomUUID() );
    ]]>
</scriptdef>

<generateguid property="guid1" />
<echo message="${guid1}" />
Run Code Online (Sandbox Code Playgroud)

结果:

[echo] 42dada5a-3c5d-4ace-9315-3df416b31084
Run Code Online (Sandbox Code Playgroud)

如果你有一个合理的最新Ant安装,这应该是开箱即用的.

  • 请注意,如果您将ant与Java 8 JDK一起使用,则可能会遇到importClass语句的以下问题.一个简单的解决方法是省略它并在下一行使用UUID的完全限定名称.http://stackoverflow.com/questions/22503100/java-8-javascript-engine-backwards-compatibility (4认同)