[
http://jira.codehaus.org/browse/MNG-4869?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=240017#action_240017
]
Joern Huxhorn commented on MNG-4869:
------------------------------------
Ok, I see.
The MNG-4619 feature did actually help me already while migrating from Maven 2
to Maven 3. I liked it a lot. The enhanced diagnostic messages are the main
Maven 3 feature for me, at least for now.
I think, but that's of course only my opinion, that a version mismatch in the
presence of a relative path is at least somewhat strange. It would probably be
a case for some "I really mean it" marker for the parent version or an option
to disable such a check.
In our 360 module project such a situation would always be a mistake. But
others might use Maven differently.
Otherwise an issue like the one that bit me is pretty hard to diagnose,
especially since the behavior changed from Maven 2. I double- and
triple-checked the relative path but overlooked the version issue repeatedly.
> Warn when relativePath points at parent POM with different version
> ------------------------------------------------------------------
>
> Key: MNG-4869
> URL: http://jira.codehaus.org/browse/MNG-4869
> Project: Maven 2 & 3
> Issue Type: Improvement
> Components: POM
> Affects Versions: 3.0
> Environment: Apache Maven 3.0 (r1004208; 2010-10-04 13:50:56+0200)
> Java version: 1.6.0_20
> Java home: /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home
> Default locale: en_US, platform encoding: MacRoman
> OS name: "mac os x" version: "10.6.4" arch: "x86_64" Family: "mac"
> Reporter: Joern Huxhorn
> Priority: Trivial
> Attachments: MNG-4869.zip
>
>
> We have the following situation in our project:
> A parent pom containing the following infos:
> {code:xml}
> <properties>
> <jettyVersion>6.1.9</jettyVersion>
> </properties>
> <build>
> <plugins>
> <plugin>
> <groupId>org.mortbay.jetty</groupId>
> <artifactId>maven-jetty-plugin</artifactId>
> <version>${jettyVersion}</version>
> </plugin>
> </plugins>
> </build>
> {code}
> A child module with the following configuration:
> {code:xml}
> <build>
> <plugins>
> <plugin>
> <groupId>org.mortbay.jetty</groupId>
> <artifactId>maven-jetty-plugin</artifactId>
> <dependencies>
> <dependency>
> <groupId>org.mortbay.jetty</groupId>
> <artifactId>jetty-plus</artifactId>
> <version>${jettyVersion}</version>
> </dependency>
> <dependency>
> <groupId>org.mortbay.jetty</groupId>
> <artifactId>jetty-naming</artifactId>
> <version>${jettyVersion}</version>
> </dependency>
> </dependencies>
> </plugin>
> </plugins>
> </build>
> {code}
> The property jettyVersion was added during the latest. The parent pom is the
> first sub-module in the master pom, followed by the other sub-modules
> including the child-module above. All <parent> definitions include correct
> <relativePath> entries.
> Previously, it worked perfectly well to simply build the master pom, which in
> turn built the parent followed by all other sub-modules.
> Since Maven 3, however, this didn't work anymore. Right after the addition of
> the jettyVersion property, Maven 3 complained with the following error:
> {noformat}
> [ERROR] The build could not read 24 projects -> [Help 1]
> [ERROR]
> [ERROR] The project xyz:2.0.0-SNAPSHOT (/path/to/child/pom.xml) has 2 errors
> [ERROR]
> 'build.plugins.plugin[org.mortbay.jetty:maven-jetty-plugin].dependencies.dependency.version'
> for org.mortbay.jetty:jetty-plus:jar must be a valid version but is
> '${jettyVersion}'. @ line 28, column 28
> [ERROR]
> 'build.plugins.plugin[org.mortbay.jetty:maven-jetty-plugin].dependencies.dependency.version'
> for org.mortbay.jetty:jetty-naming:jar must be a valid version but is
> '${jettyVersion}'. @ line 33, column 28
> {noformat}
> Building the parent manually fixed this issue.
> To be precise, our actual project involved another parent level, i.e. the
> parent described above was the parent of parent2 while parent2 was the parent
> of the child module - but I don't think that this is relevant. I'm just
> mentioning it just in case. Again, all <parent> definitions include correct
> <relativePath> entries.
> This worked in Maven 2 so I think it's a regression.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira