当前位置: 首页 > 面试题库 >

maven-buildnumber-plugin svn修订版仅在不使用格式时可用

颛孙建业
2023-03-14
问题内容

在使用maven-buildnumber-plugin 1.0 beta
4时,除非我<format>在配置中使用标签,否则似乎可以得到svn修订版。使用<format><item>buildnumber</item>标记后,我会得到一个自动递增的数字,但是它不再与svn修订相对应,并且我不知道如何取回它。有没有办法在svn中使用svn版本号<format>?该文档不是很清楚。


问题答案:

buildnumber-maven-
plugin非常古怪,这可能就是为什么它仍然是beta的原因。该格式仅适用于您希望将Java消息格式应用于的那些项目,并且在大多数情况下,仅对时间戳和文字字符串有用。如果不需要时间戳,请在获取Subversion修订版号时不要使用format选项。如果使用格式,则按照您的指示,它将为您提供一个始终递增1的内部版本号,而不是SCM版本号。

如果您确实需要时间戳,或者您有其他需要从buildnumber插件以及Subversion修订版中获得的项目,请分别执行每个操作。这是一个如何使用插件的两次单独执行来获取Subverison版本号和构建时间戳的示例:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>buildnumber-maven-plugin</artifactId>
    <version>1.0-beta-4</version>
    <executions>
        <execution>
            <id>generate-buildnumber</id>
                <phase>validate</phase>
            <goals>
                <goal>create</goal>
            </goals>
            <configuration>
                <useLastCommittedRevision>true</useLastCommittedRevision>
                <buildNumberPropertyName>buildRevision</buildNumberPropertyName>
            </configuration>
        </execution>
        <execution>
            <id>generate-timestamp</id>
            <phase>validate</phase>
            <goals>
                <goal>create</goal>
            </goals>
            <configuration>
                <format>{0,date,yyyy-MM-dd HH:mm:ss}</format>
                <items>
                    <item>timestamp</item>
                </items>
                <buildNumberPropertyName>buildDateTime</buildNumberPropertyName>
            </configuration>
        </execution>
    </executions>
</plugin>

完成这项工作的关键是使用buildNumberPropertyName元素。请查看插件的“
用法”页面,以获取有关Java消息格式的用途的更多信息。



 类似资料:
  • 我正试着把版本号放在清单上。我耳朵的MF,基于从SCM检索到的修订号(本例中为svn)。我有一个maven父项目和一些嵌套项目,其中一个负责创建EAR。 这是我的父pom.xml: 这是应用耳朵/pom.xml: 我使用mvn clean包构建项目,并查看ear META-INF/MANIFEST。MF我明白了: 如您所见,buildNumber maven插件中的buildNumber属性为空。

  • 问题内容: 我正在使用maven-buildnumber-plugin版本1.0-beta-4。这在从Subversion检出的项目上可以正常工作,但在Jenkins中失败。 我认为这个问题是由于詹金斯以某种方式删除了文件夹。 我认为错了。这是我得到的错误: 我忽略了这一点: 机器上没有安装任何客户端,这才是真正的麻烦根源。 问题答案: 错误消息显示该命令未安装在生成计算机上。您可以使用以下配置作

  • Git 允许你通过几种方法来指明特定的或者一定范围内的提交。 了解它们并不是必需的,但是了解一下总没坏处。 单个修订版本 你可以通过 Git 给出的 SHA-1 值来获取一次提交,不过还有很多更人性化的方式来做同样的事情。 本节将会介绍获取单个提交的多种方法。 简短的 SHA-1 Git 十分智能,你只需要提供 SHA-1 的前几个字符就可以获得对应的那次提交,当然你提供的 SHA-1 字符数量不

  • 据我所知,Hibernate Envers会在您创建,更改或删除带有@Audited注释的对象时存储修订版。 Envers自动将修订日期设置为当前时间。是否可以手动设置此时间? 我需要用它来处理一个数据有有效时间的时态集合,这需要手动设置。

  • 有人知道如何使用JGit API获取文件列表吗?我试图在本地存储库中找到类似的函数,比如使用<code>git show 我有一些类似的代码 此代码以本地存储库为目标,使用 遍历上次提交的修订树。我发现这个例子使用来获取文件的引用,但是dunno如何获取所有Java文件的列表。欢迎任何建议。

  • 我正在尝试用React-Native构建我的第一个应用程序。 我正在遵循这两个教程: https://facebook.github.io/react-native/docs/gett-started.html#content https://facebook.github.io/react-native/docs/android-setup.html 我尝试安装Android build too