1

我们使用 Hudson、Maven2 和 maven-ear-plugin。

是否可以让构建的 EAR 文件在其文件名中包含 SVN 修订版(类似于 project-1234.ear)?

4

2 回答 2

1

您可以为此使用buildnumber-maven-number。基本上,这个插件设置了一个${buildNumber}属性,您可以稍后在 maven ear 插件配置中使用。

首先,按照此处记录的方式设置内部版本号 Maven 插件:

<plugins>
  <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>buildnumber-maven-plugin</artifactId>
    <version>1.0-beta-4</version>
    <executions>
      <execution>
        <phase>validate</phase>
        <goals>
          <goal>create</goal>
        </goals>
      </execution>
    </executions>
    <configuration>
      <doCheck>true</doCheck>
      <doUpdate>true</doUpdate>
    </configuration>
  </plugin>
  ...
</plugins>

然后,使用该finalName参数自定义生成的耳朵的名称。例如:

<plugins>
  ...
  <plugin>
    <artifactId>maven-ear-plugin</artifactId>
    <version>2.4</version>
    <configuration>
      <finalName>${project.artifactId}-r${buildNumber}</finalName> 
      ...
    </configuration>
  </plugin>
  ...
</plugins>
于 2010-01-08T16:26:01.933 回答
0

哈德森现在进行修订。所以你有两个选择。只需在之后重命名输出或向 Maven 提供修订版,它就可以根据需要更改名称。

想来想去,或许还有别的办法。让 Maven 查询 svn 的修订,然后将其合并到 earname


然而,你真的需要吗?Hudson 提供了对耳朵进行指纹识别的选项。这样,您可以稍后将文件提交给 Hudson,它会返回内部版本号。

于 2010-01-08T16:17:09.127 回答