[
http://jira.codehaus.org/browse/MNG-2241?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Benjamin Bentmann updated MNG-2241:
-----------------------------------
Description:
In a multi-project with a parent pom which should enforces modules's versions
in dependencyManagement element, when I use a war dependnecy it starts to
require the version declaration in child pom's dependencies. When I use jar
dependencies, it works fine.
{noformat}
Project structure:
parent project
|_ web (war)
|_ commons (jar)
|_ webcommons (war)
{noformat}
--------------------------------------------------
parent project pom:
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>4.0.0</modelVersion>
<name>Procdev - ReferĂȘncia</name>
<groupId>globo</groupId>
<artifactId>procdevref</artifactId>
<packaging>pom</packaging>
<version>0.0.1</version>
<description>no</description>
<modules>
<module>web</module>
<module>commons</module>
<module>webcommons</module>
</modules>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>globo</groupId>
<artifactId>procdevref-web</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>globo</groupId>
<artifactId>procdevref-commons</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>globo</groupId>
<artifactId>procdevref-webcommons</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
{code}
--------------------------------------------------
web project pom:
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>globo</groupId>
<artifactId>procdevref</artifactId>
<version>0.0.1</version>
</parent>
<name>Procdev Web</name>
<artifactId>procdevref-web</artifactId>
<packaging>war</packaging>
<version>0.0.1</version>
<description>no</description>
<dependencies>
<dependency>
<groupId>globo</groupId>
<artifactId>procdevref-webcommons</artifactId>
<type>war</type>
</dependency>
<dependency>
<groupId>globo</groupId>
<artifactId>procdevref-commons</artifactId>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>[1.1.2,]</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>[1.1.2,]</version>
</dependency>
</dependencies>
</project>
{code}
--------------------------------------------------
webcommons project pom:
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>globo</groupId>
<artifactId>procdevref</artifactId>
<version>0.0.1</version>
</parent>
<name>Procdev Web Commons</name>
<artifactId>procdevref-webcommons</artifactId>
<packaging>war</packaging>
<version>0.0.1</version>
<description>no</description>
</project>
{code}
--------------------------------------------------
commons project pom:
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>globo</groupId>
<artifactId>procdevref</artifactId>
<version>0.0.1</version>
</parent>
<name>Procdev Commons</name>
<artifactId>procdevref-commons</artifactId>
<packaging>jar</packaging>
<version>0.0.1</version>
<description>no</description>
</project>
{code}
When i Run it with "mvn -X clean install" I get:
{noformat}
+ Error stacktraces are turned on.
Maven version: 2.0.4
[DEBUG] Building Maven user-level plugin registry from: 'C:\Documents and
Settings\celso.cs\.m2\plugin-registry.xml'
[DEBUG] Building Maven global-level plugin registry from:
'C:\java\maven-2.0.4\bin\..\conf\plugin-registry.xml'
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error building POM (may not be this project's POM).
Project ID: globo:procdevref-web
POM Location: C:\Projetos\ProcdevReferencia\web\pom.xml
Validation Messages:
[0] 'dependencies.dependency.version' is missing for
globo:procdevref-webcommons
Reason: Failed to validate POM
{noformat}
was:
In a multi-project with a parent pom which should enforces modules's versions
in dependencyManagement element, when I use a war dependnecy it starts to
require the version declaration in child pom's dependencies. When I use jar
dependencies, it works fine.
Project structure:
parent project
|_ web (war)
|_ commons (jar)
|_ webcommons (war)
--------------------------------------------------
parent project pom:
<?xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>4.0.0</modelVersion>
<name>Procdev - ReferĂȘncia</name>
<groupId>globo</groupId>
<artifactId>procdevref</artifactId>
<packaging>pom</packaging>
<version>0.0.1</version>
<description>no</description>
<modules>
<module>web</module>
<module>commons</module>
<module>webcommons</module>
</modules>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>globo</groupId>
<artifactId>procdevref-web</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>globo</groupId>
<artifactId>procdevref-commons</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>globo</groupId>
<artifactId>procdevref-webcommons</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
--------------------------------------------------
web project pom:
<?xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>globo</groupId>
<artifactId>procdevref</artifactId>
<version>0.0.1</version>
</parent>
<name>Procdev Web</name>
<artifactId>procdevref-web</artifactId>
<packaging>war</packaging>
<version>0.0.1</version>
<description>no</description>
<dependencies>
<dependency>
<groupId>globo</groupId>
<artifactId>procdevref-webcommons</artifactId>
<type>war</type>
</dependency>
<dependency>
<groupId>globo</groupId>
<artifactId>procdevref-commons</artifactId>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>[1.1.2,]</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>[1.1.2,]</version>
</dependency>
</dependencies>
</project>
--------------------------------------------------
webcommons project pom:
<?xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>globo</groupId>
<artifactId>procdevref</artifactId>
<version>0.0.1</version>
</parent>
<name>Procdev Web Commons</name>
<artifactId>procdevref-webcommons</artifactId>
<packaging>war</packaging>
<version>0.0.1</version>
<description>no</description>
</project>
--------------------------------------------------
commons project pom:
<?xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>globo</groupId>
<artifactId>procdevref</artifactId>
<version>0.0.1</version>
</parent>
<name>Procdev Commons</name>
<artifactId>procdevref-commons</artifactId>
<packaging>jar</packaging>
<version>0.0.1</version>
<description>no</description>
</project>
When i Run it with "mvn -X clean install" I get:
+ Error stacktraces are turned on.
Maven version: 2.0.4
[DEBUG] Building Maven user-level plugin registry from: 'C:\Documents and Settin
gs\celso.cs\.m2\plugin-registry.xml'
[DEBUG] Building Maven global-level plugin registry from: 'C:\java\maven-2.0.4\b
in\..\conf\plugin-registry.xml'
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error building POM (may not be this project's POM).
Project ID: globo:procdevref-web
POM Location: C:\Projetos\ProcdevReferencia\web\pom.xml
Validation Messages:
[0] 'dependencies.dependency.version' is missing for globo:procdevref-webco
mmons
Reason: Failed to validate POM
> Versions are required when it shouldn't with multi-modules projects and war
> dependencies
> ----------------------------------------------------------------------------------------
>
> Key: MNG-2241
> URL: http://jira.codehaus.org/browse/MNG-2241
> Project: Maven 2 & 3
> Issue Type: Bug
> Components: Dependencies
> Affects Versions: 2.0.4
> Environment: Maven 2.0.4, Java 5, Windows XP
> Reporter: Celso Gomes Barreto Junior
> Fix For: 3.0-alpha-8
>
>
> In a multi-project with a parent pom which should enforces modules's versions
> in dependencyManagement element, when I use a war dependnecy it starts to
> require the version declaration in child pom's dependencies. When I use jar
> dependencies, it works fine.
> {noformat}
> Project structure:
> parent project
> |_ web (war)
> |_ commons (jar)
> |_ webcommons (war)
> {noformat}
> --------------------------------------------------
> parent project pom:
> {code:xml}
> <?xml version="1.0" encoding="UTF-8"?>
> <project>
> <modelVersion>4.0.0</modelVersion>
> <name>Procdev - ReferĂȘncia</name>
> <groupId>globo</groupId>
> <artifactId>procdevref</artifactId>
> <packaging>pom</packaging>
> <version>0.0.1</version>
> <description>no</description>
> <modules>
> <module>web</module>
> <module>commons</module>
> <module>webcommons</module>
> </modules>
> <dependencyManagement>
> <dependencies>
> <dependency>
> <groupId>globo</groupId>
> <artifactId>procdevref-web</artifactId>
> <version>${project.version}</version>
> </dependency>
> <dependency>
> <groupId>globo</groupId>
> <artifactId>procdevref-commons</artifactId>
> <version>${project.version}</version>
> </dependency>
> <dependency>
> <groupId>globo</groupId>
> <artifactId>procdevref-webcommons</artifactId>
> <version>${project.version}</version>
> </dependency>
> </dependencies>
> </dependencyManagement>
> <dependencies>
> <dependency>
> <groupId>junit</groupId>
> <artifactId>junit</artifactId>
> <version>3.8.1</version>
> <scope>test</scope>
> </dependency>
> </dependencies>
> </project>
> {code}
> --------------------------------------------------
> web project pom:
> {code:xml}
> <?xml version="1.0" encoding="UTF-8"?>
> <project>
> <modelVersion>4.0.0</modelVersion>
> <parent>
> <groupId>globo</groupId>
> <artifactId>procdevref</artifactId>
> <version>0.0.1</version>
> </parent>
> <name>Procdev Web</name>
> <artifactId>procdevref-web</artifactId>
> <packaging>war</packaging>
> <version>0.0.1</version>
> <description>no</description>
> <dependencies>
> <dependency>
> <groupId>globo</groupId>
> <artifactId>procdevref-webcommons</artifactId>
> <type>war</type>
> </dependency>
> <dependency>
> <groupId>globo</groupId>
> <artifactId>procdevref-commons</artifactId>
> </dependency>
> <dependency>
> <groupId>jstl</groupId>
> <artifactId>jstl</artifactId>
> <version>[1.1.2,]</version>
> </dependency>
> <dependency>
> <groupId>taglibs</groupId>
> <artifactId>standard</artifactId>
> <version>[1.1.2,]</version>
> </dependency>
> </dependencies>
> </project>
> {code}
> --------------------------------------------------
> webcommons project pom:
> {code:xml}
> <?xml version="1.0" encoding="UTF-8"?>
> <project>
> <modelVersion>4.0.0</modelVersion>
> <parent>
> <groupId>globo</groupId>
> <artifactId>procdevref</artifactId>
> <version>0.0.1</version>
> </parent>
> <name>Procdev Web Commons</name>
> <artifactId>procdevref-webcommons</artifactId>
> <packaging>war</packaging>
> <version>0.0.1</version>
> <description>no</description>
> </project>
> {code}
> --------------------------------------------------
> commons project pom:
> {code:xml}
> <?xml version="1.0" encoding="UTF-8"?>
> <project>
> <modelVersion>4.0.0</modelVersion>
> <parent>
> <groupId>globo</groupId>
> <artifactId>procdevref</artifactId>
> <version>0.0.1</version>
> </parent>
> <name>Procdev Commons</name>
> <artifactId>procdevref-commons</artifactId>
> <packaging>jar</packaging>
> <version>0.0.1</version>
> <description>no</description>
> </project>
> {code}
> When i Run it with "mvn -X clean install" I get:
> {noformat}
> + Error stacktraces are turned on.
> Maven version: 2.0.4
> [DEBUG] Building Maven user-level plugin registry from: 'C:\Documents and
> Settings\celso.cs\.m2\plugin-registry.xml'
> [DEBUG] Building Maven global-level plugin registry from:
> 'C:\java\maven-2.0.4\bin\..\conf\plugin-registry.xml'
> [INFO] Scanning for projects...
> [INFO]
> ------------------------------------------------------------------------
> [ERROR] FATAL ERROR
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Error building POM (may not be this project's POM).
> Project ID: globo:procdevref-web
> POM Location: C:\Projetos\ProcdevReferencia\web\pom.xml
> Validation Messages:
> [0] 'dependencies.dependency.version' is missing for
> globo:procdevref-webcommons
> Reason: Failed to validate POM
> {noformat}
--
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