My maven project structure is as below
Project A
pom.xml
- ProjectB
pom.xml
- ProjectC
pom.xml
- ProjectD
pom.xml
- ProjectY
pom.xml
By using maven reactor options i can
clean install -pl projectB
or clean install -pl projectY
But while trying to build the second level child modules using clean install -pl projectC
, maven throws
org.apache.maven.MavenExecutionException: Could not find the selected project in the reactor: projectC
how to build the second level+ child modules using maven reactor options
Just in case someone else has this one too:
I also encountered this error message. The reason was that by accident I had been in one of my (sub-)modules in the path in terminal.
Of course the command has to be executed in the project's root hierarchy. According to the example above you have to assure that you execute a command like:
not e.g. at ProjectY or somewhere else deeper in the project structure.
Correct:
Wrong:
From the documentation for the
-pl
option it states the following:The important part for you is: "or by its relative path".
So to build
projectC
, you simply need to refer to it by its relative path (projectB/projectC
). So the command you need is:This is an answer from a similar question that is also relevant here.
By using artifactIds you don't have to know the structure of your project.
If you only use the artifactIds of the given project you have to define that correctly on command line:
help output of Maven (
mvn --help
)This means in your case you have to define:
Notice the
:
that is prepended to the artifactIds to indicate you omit the groupId