I get "The build could not read 1 project" in maven build because undefined versions

java, maven, pom.xml

Solution

The problem is to do with your project structure and how you have defined the `parent` in the child poms.

Your child modules are actually in folders that are one level up from where your parent pom resides rather than in the same level (judging from `<module>../example-business</module>`). When maven tries to build the child modules it can not find the parent pom as it is not available in the maven repository (it is currently in the process of building it so it has not yet been uploaded).

To fix this you simply need to change the `parent` definition in the child poms to define a real `relativePath` to the location of the parent pom so that maven can find it. So change it to be something like the following:

<parent>
    <groupId>com.example</groupId>
    <artifactId>example-parent</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <relativePath>../name-of-folder-containing-parent-pom</relativePath>
</parent>

Obviously you'll need to change `name-of-folder-containing-parent-pom` to be whatever the folder is.

Problem

I've a parent-pom and a integration-pom: integration pom ``` <dependencies> <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> </dependency> <dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> </dependency> <dependency> <groupId>com.example</groupId> <artifactId>example-model</artifactId> </dependency> </dependencies> <parent> <groupId>com.example</groupId> <artifactId>example-parent</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> ``` parent pom ``` <modules> <module>../example-business</module> <module>../example-integration</module> <module>../example-model</module> </modules> <dependencyManagement> <dependencies> <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20131018</version> </dependency> <dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> <version>3.1</version> </dependency> <dependency> <groupId>com.example</groupId> <artifactId>example-model</artifactId> <version>${project.version}</version> </dependency> </dependencies> </dependencyManagement> ``` Now when I will do a clean install on the parent, I get the following error: ``` [INFO] Scanning for projects... Downloading: http://www.example.com/content/groups/mirror/com/example/example-parent/0.0.1-SNAPSHOT/maven-metadata.xml [ERROR] The build could not read 1 project -> [Help 1] [ERROR] [ERROR] The project com.example:example-integration:0.0.1-SNAPSHOT (D:\dev\workspaces\example-git\example\example-integration\pom.xml) has 3 errors [ERROR] 'dependencies.dependency.version' for org.json:json:jar is missing. @ line 22, column 15 [ERROR] 'dependencies.dependency.version' for commons-httpclient:commons-httpclient:jar is missing. @ line 27, column 15 [ERROR] 'dependencies.dependency.version' for com.example:example-model:jar is missing. @ line 32, column 15 ``` But when I take a look to the Effective POM of the integration pom, there are the version written. So why I can't build it? Edit: Here is a snip of the EFFECTIVE POM view: ``` <dependencyManagement> <dependencies> <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20131018</version> </dependency> <dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> <version>3.1</version> </dependency> <dependency> <groupId>com.example</groupId> <artifactId>example-model</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <dependency> <groupId>com.example</groupId> <artifactId>example-integration</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <dependency> <groupId>com.example</groupId> <artifactId>example-business</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20131018</version> <scope>compile</scope> </dependency> <dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> <version>3.1</version> <scope>compile</scope> </dependency> <dependency> <groupId>com.example</groupId> <artifactId>example-model</artifactId> <version>0.0.1-SNAPSHOT</version> <scope>compile</scope> </dependency> <dependency> <groupId>com.example</groupId> <artifactId>example-business</artifactId> <version>0.0.1-SNAPSHOT</version> <scope>compile</scope> </dependency> </dependencies> ```

Original source