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

Viewed 38549

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>
4 Answers

Check why parent dependency is not getting solved in your local. You might be missing something in settings.xml which resides in c:Users/name/.m2 Check if the credentials are correct and you have added all the artifactory links in case if they are not public.

I had same issue, Please check actual folder name in file explorer it should match what u defined as module in pom. eclipse might be showing project name differently than actual project name in explorer.

I too had similar issue and is solved by adding missed close tag below

<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-jexl</artifactId>
<version>2.1.1</version>
<dependency>

Same resolved as below:

<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-jexl</artifactId>
<version>2.1.1</version>
</dependency>
Related