0

我使用 maven 构建一些项目,这些项目安装到本地 .m2 和远程工件存储库中。

我有另一个项目将其中一些工件下载(maven-dependency-plugin:copy)到其本地目标文件夹,然后将它们上传到文件共享。当我将工件上传到文件共享时,我需要给它一个 buildNumber,如果我重新运行项目,它不应该改变。如何在例如获取工件的内部版本号。神器?

当我浏览工件中的工件时,它们都有唯一的 buildId。

4

1 回答 1

0

最好的解决方案可能是使用buildnumber-maven-plugin从 VCS 等获取信息并将此信息放入 manifest.mf 文件中。您可以继续使用 maven-dependency-plugin:copy 目标将工件复制到相应的文件夹中。只有在您有 SNAPSHOT 的情况下,您才可以稍后查看罐子本身。

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

您可以定义应该放入MANIFEST.MF文件的内容,如下所示:

<build>
    ...
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.1</version>
        <configuration>
          <archive>
            <manifest>
              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
            </manifest>
            <manifestEntries>
              <Implementation-Build>${buildNumber}</Implementation-Build>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>
    </plugins>
  </build>
于 2013-01-07T10:22:06.057 回答