I’m new to Maven. I checked out from SVN a project from a customer with the following structure:
projectName |--> pom.xml |--> jetty-wrapper |--> pom.xml |--> bin |--> pom.xml |--> projectName-common |--> pom.xml |--> bin |--> pom.xml |--> projectName-war |--> bin |--> pom.xml
the pom.xml right below ‘projectName` (the pom at the top) is building the three modules
<modules> <module>projectName-common</module> <module>projectName-war</module> <module>jetty-wrapper</module> </modules>
But when executing mvn clean install
from folder projectName
it gives the following error
Child module [...]projectNameprojectName-warpom.xml of [...]projectNamepom.xml does not exist
The question is: Should there be a pom.xml right below projectName-war
just like with the rest of the modules that my customer may have forgotten to commit to SVN?
Advertisement
Answer
The question is: Should there be a pom.xml right below projectName-war
Simply put yes.
You have already figured out the trick, and since you haven’t provided a project descriptor aka pom.xml to maven, it won’t be able to call the projectName-war a valid child module.
There must absolutely be a pom.xml file under projectName-war, and it must have an artifact id that matches the one under the parent declaring the module, i.e.
<artifactId>projectName-war</artifactId>