Hi there,

I'm having a really strange problem related to dependency management. I have
a parent pom with some dependencies declared in the dependency management
section, and a child pom inheriting from it. One of the dependencies is the
testng jar. Here you have excerpts from both files:

Parent pom:
<?xml version="1.0" encoding="UTF-8"?>
<project>
 <modelVersion>4.0.0</modelVersion>
 <groupId>org.surveyforge</groupId>
 <artifactId>surveyforge</artifactId>
 <packaging>pom</packaging>
 <name>SurveyForge</name>
 <version>0.1-SNAPSHOT</version>
[...]
 <dependencyManagement>
   <dependencies>
[...]
     <dependency>
       <groupId>org.testng</groupId>
       <artifactId>testng</artifactId>
       <version>4.7</version>
       <classifier>jdk15</classifier>
       <scope>test</scope>
     </dependency>
[...]
   </dependencies>
 </dependencyManagement>
[...]
</project>


Child pom:
<?xml version="1.0" encoding="UTF-8"?>
<project>
 <parent>
   <groupId>org.surveyforge</groupId>
   <artifactId>surveyforge</artifactId>
   <version>0.1-SNAPSHOT</version>
 </parent>
 <modelVersion>4.0.0</modelVersion>
 <artifactId>surveyforge-classification</artifactId>
 <name>SurveyForge Classification API</name>
[...]
 <dependencies>
   <dependency>
     <groupId>org.testng</groupId>
     <artifactId>testng</artifactId>
   </dependency>
[...]
 </dependencies>
[...]
</project>

If I try to run any goal I get with these two files I get the following:
[INFO] Scanning for projects...
[INFO]
------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO]
------------------------------------------------------------------------
[INFO] Error building POM (may not be this project's POM).


Project ID: org.surveyforge:surveyforge-classification
POM Location:
U:\proyectos\otros\surveyforge\surveyforge-classification\pom.xml
Validation Messages:

   [0]  'dependencies.dependency.version' is missing for org.testng:testng


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:365)
       at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:278)
       at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
       at org.apache.maven.cli.MavenCli.main(MavenCli.java:256)
       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:926)
       at org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal
(DefaultMavenProjectBuilder.java:737)
       at
org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal
(DefaultMavenProjectBuilder.java:416)
       at org.apache.maven.project.DefaultMavenProjectBuilder.build(
DefaultMavenProjectBuilder.java:192)
       at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:515)
       at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java
:447)
       at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java
:491)
       at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:351)
       ... 11 more
[INFO]
------------------------------------------------------------------------
[INFO] Total time: < 1 second
[INFO] Finished at: Tue Jun 20 12:11:45 CEST 2006
[INFO] Final Memory: 1M/2M
[INFO]
------------------------------------------------------------------------


If I take away the classifier tag in the parent pom maven is able to
validate the pom, but (obviously) fails because it cannot download the jar.
If I include the whole dependency in the child pom and take it away from the
parent pom I also get a correct execution.

Any ideas? Is the classifier tag allowed in the dependency management
section? Is this a bug?

Best regards
Jose

Reply via email to