Java buildnumber maven插件将buildnumber增加两次

Java buildnumber maven插件将buildnumber增加两次,java,maven,plugins,Java,Maven,Plugins,我是Maven的新用户,很难让buildnumber Maven插件实现我的期望。本质上,我希望maven构建我的项目并创建结果的JAR文件,并在manifest.mf文件中设置构建编号。我将在下面包含大部分pom.xml文件 当我运行:mvn clean compile包时,我会在输出中看到两个buildNumber: ... [INFO] --- buildnumber-maven-plugin:1.4:create (buildnumber) @ xcase --- [INFO] Stor

我是Maven的新用户,很难让buildnumber Maven插件实现我的期望。本质上,我希望maven构建我的项目并创建结果的JAR文件,并在manifest.mf文件中设置构建编号。我将在下面包含大部分pom.xml文件

当我运行:mvn clean compile包时,我会在输出中看到两个buildNumber:

...
[INFO] --- buildnumber-maven-plugin:1.4:create (buildnumber) @ xcase ---
[INFO] Storing buildNumber: 12 at timestamp: 1500583427060
...
[INFO] --- buildnumber-maven-plugin:1.4:create (buildnumber) @ xcase ---
[INFO] Storing buildNumber: 13 at timestamp: 1500583444250
...
在我的清单文件中,我可以看到构建是:

实施建设:13

如果我再次运行mvn命令,那么它将增加到15。为什么会这样

以下是我的pom.xml文件的相关片段:

  <build>
    <outputDirectory>build</outputDirectory>
    <plugins>
      <plugin>
        <artifactId>buildnumber-maven-plugin</artifactId>
        <configuration>
          <buildNumberPropertyName>buildNumber</buildNumberPropertyName>
          <doCheck>false</doCheck>
          <doUpdate>false</doUpdate>
          <format>{0,number,integer}</format>
          <items>
            <item>buildNumber</item>
          </items>
          <revisionOnScmFailure>true</revisionOnScmFailure>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>create</goal>
            </goals>
            <id>buildnumber</id>
          </execution>
        </executions>
        <groupId>org.codehaus.mojo</groupId>
        <version>1.4</version>
      </plugin>
      <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <version>3.0.2</version>
        <executions>
          <execution>
            <id>copy-resources</id>
            <phase>validate</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${basedir}/build</outputDirectory>
              <resources>          
                <resource>
                  <directory>${basedir}</directory>
                  <filtering>true</filtering>
                  <excludes>
                    <exclude>*local*.properties</exclude>
                  </excludes>
                  <includes>
                    <include>*.properties</include>
                  </includes>
                </resource>
                <resource>
                  <directory>${basedir}/src/java</directory>
                  <filtering>true</filtering>
                  <includes>
                    <include>log4j2.xml</include>
                  </includes>
                </resource>
              </resources>              
            </configuration>            
          </execution>
        </executions>
      </plugin>
      <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>
    <sourceDirectory>src/java</sourceDirectory>
  </build>

建造
buildnumber maven插件
建筑编号
假的
假的
{0,数字,整数}
建筑编号
真的
创造
建筑编号
org.codehaus.mojo
1.4
maven资源插件
3.0.2
复制资源
验证
复制资源
${basedir}/build
${basedir}
真的
*本地*.properties
*.物业
${basedir}/src/java
真的
log4j2.xml
org.apache.maven.plugins
maven jar插件
2.1
真的
${buildNumber}
src/java

请添加完整的pom文件,而不仅仅是摘录……此外,在了解后果之前,不要更改Maven中的约定。您配置maven资源插件来复制东西,这表明您不了解maven的生命周期。如果您按照惯例将资源放入
src/main/resources
中,它们将自动复制到
target/classes
中。如果要过滤它们,请查看。使用最新版本的插件。maven jar插件非常古老……您好,谢谢,是的,我知道资源的组织不是maven想要的。我无法上传完整的POM文件,因为其中包含专有信息。这是一个由现有构建系统构建的项目,因此在我能够演示maven的一些很酷的功能之前,我无法重新组织它的目录结构。我已经将maven jar插件更新为3.0.2。然而,这并没有解决将构建数量增加两次的问题。有什么想法吗?请添加完整的pom文件,而不仅仅是摘录……此外,在理解后果之前,不要更改Maven中的约定。您配置maven资源插件来复制东西,这表明您不了解maven的生命周期。如果您按照惯例将资源放入
src/main/resources
中,它们将自动复制到
target/classes
中。如果要过滤它们,请查看。使用最新版本的插件。maven jar插件非常古老……您好,谢谢,是的,我知道资源的组织不是maven想要的。我无法上传完整的POM文件,因为其中包含专有信息。这是一个由现有构建系统构建的项目,因此在我能够演示maven的一些很酷的功能之前,我无法重新组织它的目录结构。我已经将maven jar插件更新为3.0.2。然而,这并没有解决将构建数量增加两次的问题。有什么想法吗?