2009/10/29 Pepe Perez <[email protected]> > Stephen, > > I think it is... to some extent at least > > Both moduleA and moduleB have this parent block > > <parent> > <groupId>rootGroupId</groupId> > <artifactId>rootArtifactId</artifactId> > <version>${rootGroupId}</version> > </parent> > > That following property <rootGroupId>rootVersion</rootGroupId> is correctly > parsed into >
actually that property is not parsed when building from the root... (short answer, there is a more long and technical answer which you are not interested in) ;-) <parent> > <groupId>rootGroupId</groupId> > <artifactId>rootArtifactId</artifactId> > <version>rootVersion</version> > </parent> > > which makes the build be successful if started from the root. > > > > > > ----- Original Message ---- > From: Stephen Connolly <[email protected]> > To: Maven Users List <[email protected]> > Sent: Wed, October 28, 2009 11:19:17 PM > Subject: Re: maven doesn't filter dependencies defined in pom > > property substitution is not supported in > > /project(/parent)?/version > > 2009/10/29 Pepe Perez <[email protected]> > > > Hello, > > > > This is the situation I'm in. > > > > I have this structure > > > > pom.xml (root) > > |_ pom.xml (module A) > > |_ pom.xml (module B) > > > > These are (excerpts) of the poms > > > > pom.xml (root) > > <groupId>rootGroupId</groupId> > > <artifactId>rootArtifactId</artifactId> > > <packaging>pom</packaging> > > <version>${rootGroupId}</version> > > > > <modules> > > <module>moduleA</module> > > <module>moduleB</module> > > </modules> > > > > <properties> > > <moduleAGroupId>1.0-SNAPSHOT</moduleAGroupId> > > <moduleBGroupId>1.0-SNAPSHOT</moduleBGroupId> > > <rootGroupId>rootVersion</rootGroupId> > > </properties> > > > > pom (module A) > > > > <parent> > > <groupId>rootGroupId</groupId> > > <artifactId>rootArtifactId</artifactId> > > <version>${rootGroupId}</version> > > </parent> > > > > <groupId>moduleAGroupId</groupId> > > <artifactId>moduleAArtifactId</artifactId> > > <packaging>pom</packaging> > > <version>${moduleAGroupId}</version> > > > > pom (module B) > > > > <parent> > > <groupId>rootGroupId</groupId> > > <artifactId>rootArtifactId</artifactId> > > <version>${rootGroupId}</version> > > </parent> > > > > <groupId>moduleBGroupId</groupId> > > <artifactId>moduleBArtifactId</artifactId> > > <packaging>pom</packaging> > > <version>${moduleBGroupId}</version> > > > > <dependencies> > > <dependency> > > <groupId>moduleAGroupId</groupId> > > <artifactId>moduleAArtifactId</artifactId> > > <version>${moduleAGroupId}</version> > > <dependency> > > </dependency> > > > > cd root > > mvn install > > > > ------------------------------------------------------------------------ > > [INFO] BUILD SUCCESSFUL > > [INFO] > > ------------------------------------------------------------------------ > > > > cd moduleB > > mvn install > > > > [WARNING] Unable to get resource > > 'moduleAGroupId:moduleAArtifactId:${moduleAGroupId}' > > from repository central (http://repo1.maven.org/maven2): Error > > transferring file: Server returned HTTP response code: 500 for URL: > > http://<pom_maven_repo_location> > > ------------------------------------------------------------------------ > > [ERROR] BUILD ERROR > > [INFO] > > ------------------------------------------------------------------------ > > [INFO] Error building POM (may not be this project's POM). > > > > > > Project ID: moduleB > > > > Reason: Cannot find parent: moduleA pom for project: moduleB > > > > This is happening because when building moduleA its pom file is > > installed in the maven repo without filtering, i.e, as it is with ${}. > > When the pom is retrieved to satisfy moduleB dependency on moduleA it's > > retrieved as > > > > <groupId>moduleAGroupId</groupId> > > <artifactId>moduleAArtifactId</artifactId> > > <packaging>pom</packaging> > > <version>${moduleAGroupId}</version> > > > > where ${moduleAGroupId} is not instanciated, hence the error. > > > > My question is: > > 1. Could I force maven to store the pom files **filtered** or > > 2. How can maven be forced to instantiate ${moduleAGroupId} upon > > retrieval from the maven repo so moduleB dependency can be satisfied > > 3. What other alternative do I have to solve this scenario without > > giving up using ${} in <version> > > > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] > > For additional commands, e-mail: [email protected] > > > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >
