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