使用 maven2 将 subversion 修订版添加到 war 清单

发布于 2024-09-03 22:47:48 字数 158 浏览 3 评论 0原文

我想找到一个maven本机(即不调用外部程序)来将svn修订版注入到war清单中。

有人知道有办法做到这一点吗?

我发现提到如何将 subversion 修订版添加到 jar 文件中的清单中,但不包括 war 文件。

我搜索了SO但找不到具体的这个问题。

I want to find a maven native (i.e. without calling external programs) to inject the svn revision in the war manifest.

Does anybody know a way to do that?

I found mention to how to add the subversion revision to manifests in jar files but not with war files.

I searched SO but could not find this issue specifically.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

鹿港巷口少年归 2024-09-10 22:47:59

尝试这个。大约走到一半,寻找maven-war-plugin

  <build>
    ...
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.0.2</version>
        <configuration>
          <archive>
            <manifest>
              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
            </manifest>
            <manifestEntries>
              <Implementation-Build>${buildNumber}</Implementation-Build>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>
    </plugins>
  </build>

Try this. About halfway down, look for maven-war-plugin

  <build>
    ...
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.0.2</version>
        <configuration>
          <archive>
            <manifest>
              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
            </manifest>
            <manifestEntries>
              <Implementation-Build>${buildNumber}</Implementation-Build>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>
    </plugins>
  </build>
沉溺在你眼里的海 2024-09-10 22:47:56

我想找到一个maven本机(即不调用外部程序)来将svn修订版注入到war清单中。

这可以通过 Build Number Maven 插件 使用 svnjava提供商:

如果您需要执行插件
路径中没有任何 svn 的机器
您可以配置 mojo 以使用
svnjava 提供者。

<预置><代码> <构建>
<插件>
<插件>
org.codehaus.mojo;
buildnumber-maven-plugin;
<版本>1.0-beta-3
<处决>
<执行>
<阶段>验证
<目标>
<目标>创建



<配置>
true
true
<提供者实现>
javasvn;




构建号 Maven 插件在 ${buildNumber} 属性中设置构建号,然后您可以在 POM 中使用该属性。

我发现提到如何将 subversion 修订版添加到 jar 文件中的清单,但不包括 war 文件。

然后,要在战争的 MANIFEST 中添加内部版本号,请按照 使用页面:

  <build>
    ...
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.0.2</version>
        <configuration>
          <archive>
            <manifest>
              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
            </manifest>
            <manifestEntries>
              <Implementation-Build>${buildNumber}</Implementation-Build>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>
    </plugins>
  </build>

I want to find a maven native (i.e. without calling external programs) to inject the svn revision in the war manifest.

This is possible with the Build Number Maven Plugin using the svnjava provider:

If you need to execute the plugin on
machine without any svn in the path
you can configure the mojo to use the
svnjava provider.

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

The Build Number Maven Plugin sets the build number in the ${buildNumber} property that you can then use in your POM.

I found mention to how to add the subversion revision to manifests in jar files but not with war files.

Then, to add the build number in the MANIFEST of a war, configure the plugin as mentioned in the Usage page:

  <build>
    ...
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.0.2</version>
        <configuration>
          <archive>
            <manifest>
              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
            </manifest>
            <manifestEntries>
              <Implementation-Build>${buildNumber}</Implementation-Build>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>
    </plugins>
  </build>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文