maven 2 - When are properties resolved? -
i defined profile @ base-pom uses property defined sub-pom (deploy-location of appserver-module). profile shall used after initial full-build , inherited sub-poms.
the question is: how/when such properties resolved: when doing initial full build or when doing local build of specific submodule ?
<profile> <id>quickdeploy</id> <build> <plugins> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-jar-plugin</artifactid> <configuration> <outputdirectory>${ear.path}</outputdirectory> </configuration> </plugin> </plugins> </build> </profile>
${ear.path}
defined in submodule ...
i tried out question created 2 artifacts m2eclipse. first q4794952.base simple maven project , has type set pom. created second artifact (right click on base project, new => maven => maven module ) automatically creates parent tag , (sub)module inside base artifact.
when using module structure created process above (or in genereal module known tag) property submodule know "base" , resolved in "full-build" (as can seen using help:effective-pom , build result of course). if build submodule it's resolved because profile taken parent pom , property set in (sub)module.
here's "basepom":
<project> <modelversion>4.0.0</modelversion> <groupid>com.stackoverflow</groupid> <artifactid>q4794952.base</artifactid> <version>0.0.1-snapshot</version> <packaging>pom</packaging> <profiles> <profile> <id>quickdeploy</id> <build> <plugins> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-jar-plugin</artifactid> <configuration> <outputdirectory>${ear.path}</outputdirectory> </configuration> </plugin> </plugins> </build> </profile> </profiles> <modules> <module>q4794952.sub</module> </modules> </project>
Comments
Post a Comment