Java buildnumber maven插件将buildnumber增加两次
我是Maven的新用户,很难让buildnumber Maven插件实现我的期望。本质上,我希望maven构建我的项目并创建结果的JAR文件,并在manifest.mf文件中设置构建编号。我将在下面包含大部分pom.xml文件 当我运行:mvn clean compile包时,我会在输出中看到两个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
...
[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。然而,这并没有解决将构建数量增加两次的问题。有什么想法吗?