You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Arik Kfir <ar...@gmail.com> on 2005/11/14 22:04:42 UTC

[m2] exception in Maven while processing dependencies with ""

Hi,

I have the following POM structure:

POM_PARENT
  +--POM_EJB (packaging=ejb)
  +--POM_EAR (packaging=ear)

As you can see, POM_EJB and POM_EAR extend POM_PARENT.

The POM_PARENT defines a "<dependencyManagement>" which specifies the
correct version of POM_EJB that POM_EAR should depend upon, like this:
<dependencyManagement>
  ...
  <dependency>
    <groupId>...</groupId>
    <artifactId>POM_EJB</artifactId>
    <version>...</version>
  </dependency>
</dependencyManagement>

POM_EAR contains the following:
<dependency>
  <groupId>...</groupId>
  <artifactId>POM_EJB</artifactId>
</dependency>

This works well, until I use the maven-ear-plugin to package the
POM_EAR project. I get the exception:

Artifact[org.corleon.crm:crm-ejb-dummy:ejb] is not a dependency of the project.

Note the ":ejb" at the end of the artifact ID. I've poked around the
maven-ear-plugin and I see it makes sure that EJB modules' for the
application.xml *are indeed of TYPE ejb*. However, when I add the
"<type>ejb</type>" clause to the POM_EAR's dependency (either in the
depManagement in POM_PARENT or in POM_EAR itself) I get the exception:

arik@corleon:~/projects/crm/ear$ mvn package
[INFO] Scanning for projects...
[INFO] ----------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ----------------------------------------------------------------------------
[INFO] Error building POM (may not be this project's POM).


Project ID: org.corleon.crm:crm-ear
POM Location: /home/arik/projects/crm/ear/pom.xml
Validation Messages:

    [0]  'dependencies.dependency.version' is missing.


Reason: Failed to validate POM


[INFO] ----------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.reactor.MavenExecutionException: Failed to validate POM
        at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:359)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:276)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:113)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:249)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
        at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.project.InvalidProjectModelException:
Failed to validate POM
        at org.apache.maven.project.DefaultMavenProjectBuilder.processProjectLogic(DefaultMavenProjectBuilder.java:774)
        at org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:624)
        at org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFile(DefaultMavenProjectBuilder.java:298)
        at org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:276)
        at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:509)
        at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:441)
        at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:345)
        ... 11 more
[INFO] ----------------------------------------------------------------------------
[INFO] Total time: < 1 second
[INFO] Finished at: Mon Nov 14 22:58:26 IST 2005
[INFO] Final Memory: 1M/2M
[INFO] ----------------------------------------------------------------------------

This happens anytime there's a dependency that has a <type> clause
without a <version> clause (EVEN if the <version> should be taken from
a <dependencyManagement> clause in the parent POM).

Filed a JIRA issue under http://jira.codehaus.org/browse/MNG-1562

Thanks,
    Arik Kfir.

POM B is an EAR pom. The maven-ear-plugin makes sure that deps going
into the app.xml

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org