0

I have a parent maven project and two child modules of that parent. One of the child modules has a packaging type of jar. And this jar is to be used in the other child module which has packaging type of war.

First child's pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <parent>
        <groupId>com.zurel.myParent</groupId>
        <artifactId>myParent</artifactId>
        <version>0.0.1-SNAPSHOT</version>
      </parent>
      <artifactId>myFirstChild</artifactId>
      <packaging>jar</packaging>
</project>

Second child's pom.xml:

 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <parent>
        <groupId>com.zurel.myParent</groupId>
        <artifactId>myParent</artifactId>
        <version>0.0.1-SNAPSHOT</version>
      </parent>
      <artifactId>myFirst</artifactId>
      <packaging>war</packaging>

    <dependencies>

            <!--other dependencies -->
            <dependency>
                 <groupId>com.zurel.myParent</groupId>
                <artifactId>myFirstChild</artifactId>
                <version>0.0.1-SNAPSHOT</version>
            </dependency>
    </dependencies>
    </project>

When I try to run package command in the second maven module, I get the following error:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building myFirst 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[WARNING] The POM for com.zurel.myParent:myFirstChild:jar:0.0.1-SNAPSHOT is missing, no dependency information available
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.353s
[INFO] Finished at: Thu Jun 19 16:20:58 NPT 2014
[INFO] Final Memory: 5M/100M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project myFirst: Could not resolve dependencies for project com.zurel.myParent:myFirst:war:0.0.1-SNAPSHOT: Could not find artifact com.zurel.myParent:myFirstChild:jar:0.0.1-SNAPSHOT -> [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/DependencyResolutionException
Anshu Bhattarai
  • 73
  • 1
  • 2
  • 9

2 Answers2

2

pom of both the child modules look fine. However, Kindly ensure following is done: 1) Both child modules are added in the parent module (aggregator module) as modules 2) the aggregation module has packaging type of 'pom'
3) Run 'mvn clean install on parent module

Sample parent pom :

http://maven.apache.org/maven-v4_0_0.xsd">

   <modelVersion>4.0.0</modelVersion>
   <groupId>org.test</groupId>
   <artifactId>myParent</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>myParent</name>
    <url>http://maven.apache.org</url>

   <modules>
    <module>../FirstChild</module>
    <module>../SecondChild</module>
   </modules>

aquagal
  • 21
  • 1
0

You are missing "First child" dependency.
Do you have registered both modules in myParent? Is the order is so that "First child" builds first?
What command do you execute? It should "mvn install"

win_wave
  • 1,498
  • 11
  • 9