建立帮助插件未解析项目版本(build helper plugin not parsing proj

2019-10-17 17:52发布

我有一个项目,我有一个需要破解的版本号下来,进入全面建设清单文件时,它的组成部件。 搜索一下周围,我发现构建辅助性Maven的插件和揣摩我的问题得到解决。 我添加插件到主POM,它的下面所示。

  <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>build-helper-maven-plugin</artifactId>
    <version>1.7</version>
    <executions>
      <execution>
        <phase>validate</phase>
        <id>parse-version</id>
        <goals>
          <goal>parse-version</goal>
        </goals>
        <configuration>
            <propertyPrefix>parsedVersion</propertyPrefix>
        </configuration>
      </execution>
    </executions>
  </plugin>

在这个时间点上的项目版本是3.0.0快照。 我想看看所有的作品(虽然在最终版本我可以不使用它们),所以我说这行我的清单文件。

<value name="majorVersion">${parsedVersion.majorVersion}</value>

<value name="minorVersion">{$parsedVersion.minorVersion}</value>

<value name="incrementalVersion">${parsedVersion.incrementalVersion}</value>

<value name="versionQualifier">${parsedVersion.qualifier}</value>

<value name="parsedBuildNumber">${parsedVersion.buildNumber}</value>

建设后,我得到这个。

<value name="majorVersion">0</value>

<value name="minorVersion">{$parsedVersion.minorVersion}</value>

<value name="incrementalVersion">0</value>

<value name="versionQualifier">3.00.0-SNAPSHOT</value>

<value name="parsedBuildNumber">0</value>

值标签实际上是一个XML标签并没有在清单文件中的收盘​​价的标签,我不得不删除他们,因为他们被搞乱了显示。

因此,增量版本似乎是正确的,虽然我没有那么自信鉴于主要版本是不正确的,没有发现任何次要版本,并预选赛回来为整个版本号,而不仅仅是快照片我此前的预期。 我能看到的零版本号将是正确的,因为我们没有什么Maven的认为一个版本号。

为什么版本号似乎并没有被解析任何想法? 我有没有正确实现这个插件?

感谢史蒂夫

Answer 1:

更改{$parsedVersion.minorVersion}${parsedVersion.minorVersion}


当您检查的属性值? 确保你后做validate阶段在你的榜样,或者如果你想它的同相确保build-helper-maven-plugin您使用的是检查的属性值插件之前发生。 如果我有这样的:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.1</version>
            <executions>
                <execution>
                    <phase>validate</phase>
                    <goals>
                        <goal>run</goal>
                    </goals>
                    <configuration>
                        <tasks>
                            <echo>Major: ${parsedVersion.majorVersion}</echo>
                            <echo>Minor: ${parsedVersion.minorVersion}</echo>
                            <echo>Incremental: ${parsedVersion.incrementalVersion}</echo>
                            <echo>Qualifier: ${parsedVersion.qualifier}</echo>
                            <echo>BuildNumber: ${parsedVersion.buildNumber}</echo>
                        </tasks>
                    </configuration>
                </execution>
            </executions>
        </plugin>

build-helper-maven-plugin ,我认为这在输出mvn validate

[INFO] --- build-helper-maven-plugin:1.7:parse-version (parse-version) @ so-example ---
[INFO] 
[INFO] --- maven-antrun-plugin:1.1:run (default) @ so-example ---
[INFO] Executing tasks
     [echo] Major: 1
     [echo] Minor: 0
     [echo] Incremental: 0
     [echo] Qualifier: SNAPSHOT
     [echo] BuildNumber: 0

anew@buddha:~/dev/so-example$ grep "<version>" pom.xml | head -1
    <version>1.0.0-SNAPSHOT</version>


文章来源: build helper plugin not parsing project version