2

I have a project folder structure where we use a parent pom and each subfolder contains its own pom.xml. Like this:

Project (pom.xml)
|- Addon-1 (pom.xml)
|- Addon-2 (pom.xml)
|- Addon-2 (pom_hotfix.xml)

Addon-1 and Addon-2 pom.xml contains a parent:

  <parent>
    <groupId>com.abc</groupId>
    <artifactId>abc</artifactId>
    <version>1.0.4</version>
    <relativePath>../pom.xml</relativePath>
  </parent>

In addition, the Addon-2 folder contains a second pom file, which doesn't have a parent. This is mandatory since the Hotfix is not allowed to contain the whole parent.

My pom_hotfix.xml looks like:

<project>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>hotfix</artifactId>
  <groupId>com.abc</groupId>
  <name>hotfix</name>
  <version>1.0.10</version>
  <packaging>jar</packaging>
  <build>
    <resources>
      <resource>
        <directory>src/main/overlay/</directory>
        <excludes>
          <exclude></exclude>
        </excludes>
      </resource>
    </resources>
  </build>
</project>

The issue is now with the org.codehaus.mojo:versions-maven-plugin set command. If I invoke as follows:

mvn -B org.codehaus.mojo:versions-maven-plugin:2.7:set -DnewVersion=2.0.2 -f pom_hotfix.xml -X

I always receive the following error.

 ✔  mvn -B org.codehaus.mojo:versions-maven-plugin:2.7:set -DnewVersion=2.0.2 -f pom_hotfix.xml
[INFO] Scanning for projects...
[INFO]
[INFO] ---------------< com.abc:hotfix >---------------
[INFO] Building hotfix 1.0.10
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- versions-maven-plugin:2.7:set (default-cli) @ hotfix ---
[INFO] Searching for local aggregator root...
[INFO] Local aggregation root: /Users/abc/Project/
[INFO] Processing change of com.abc:hotfix:1.0.10 -> 2.0.2
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  1.264 s
[INFO] Finished at: 2020-07-13T11:27:41+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:versions-maven-plugin:2.7:set (default-cli) on project fixpack: Execution default-cli of goal org.codehaus.mojo:versions-maven-plugin:2.7:set failed. NullPointerException -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException

If I temporarily remove the parent pom.xml in the Project folder, it's working fine. My goal is tho bump version inside of pom_hotfix.xml. I have no idea why I receive a null pointer.

Florjud
  • 73
  • 2
  • 5
  • 1
    I have never seen a project with two POMs in the same directory. What are you trying to achieve with this? If you need different "kinds" of builds, use profiles. Putting two POMs into one module surely leads to trouble at various points... – J Fabian Meier Jul 13 '20 at 11:23

0 Answers0