Maven profile execution -
i have problem , not identify reason until now.
i have maven project has several modules. 1 of these modules webservices client.
so, during development, when running install in maven, needs access local server generate client. when run plugin generate release of project, clients should point production server.
to set key property ${server.address} used point server when generating clients. there 1 profile which, when active, key property rewrites address production server.
what's going on? running mvn install generating correctly, ie, pointing local server. when generate release using command mvn release:prepare -b release:perform -denv=prd not rewriting variable should.
the strange thing if run mvn install -denv=prd, generates correctly, pointing production server.
could give me hint of change work in release cycle?
<project xmlns="http://maven.apache.org/pom/4.0.0" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelversion>4.0.0</modelversion> <groupid>groupid</groupid> <artifactid>artifactid</artifactid> <version>0.0.2-snapshot</version> <packaging>jar</packaging> <properties> <server.address>http://localhost:8080</server.address> </properties> <profiles> <profile> <id>prd</id> <activation> <property> <name>env</name> <value>prd</value> </property> </activation> <properties> <server.address>http://srvprd009:8080</server.address> </properties> </profile> </profiles> <build> <sourcedirectory>src/main/java</sourcedirectory> <resources> <resource> <directory>src/main/resources</directory> </resource> </resources> <testsourcedirectory>src/test/java</testsourcedirectory> <testresources> <testresource> <directory>src/test/resources</directory> </testresource> </testresources> <plugins> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-compiler-plugin</artifactid> </plugin> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-eclipse-plugin</artifactid> </plugin> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-release-plugin</artifactid> </plugin> <plugin> <groupid>org.apache.cxf</groupid> <artifactid>cxf-codegen-plugin</artifactid> <executions> <execution> <id>generate-client</id> <phase>generate-sources</phase> <configuration> <sourceroot>src/main/gen</sourceroot> <wsdloptions> <wsdloption> <wsdl>${server.address}/services/utilities?wsdl</wsdl> <extraargs> <extraarg>-p</extraarg> <extraarg>${project.package}</extraarg> <extraarg>-impl</extraarg> <extraarg>-verbose</extraarg> <extraarg>-frontend</extraarg> <extraarg>jaxws21</extraarg> <extraarg>-xjc-xhashcode</extraarg> <extraarg>-xjc-xequals</extraarg> </extraargs> </wsdloption> </wsdloptions> </configuration> <goals> <goal>wsdl2java</goal> </goals> </execution> </executions> <dependencies> <dependency> <groupid>org.apache.cxf</groupid> <artifactid>cxf-rt-frontend-jaxws</artifactid> <version>${cxf.version}</version> </dependency> <dependency> <groupid>org.apache.cxf</groupid> <artifactid>cxf-rt-transports-http</artifactid> <version>${cxf.version}</version> </dependency> <dependency> <groupid>org.jvnet.jaxb2_commons</groupid> <artifactid>jaxb2-basics</artifactid> <version>0.6.4</version> </dependency> </dependencies> </plugin> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-clean-plugin</artifactid> <version>${maven-clean-plugin.version}</version> <configuration> <filesets> <fileset> <directory>src/main/gen</directory> <includes> <include>**/*.*</include> </includes> </fileset> </filesets> </configuration> </plugin> <plugin> <groupid>org.codehaus.mojo</groupid> <artifactid>build-helper-maven-plugin</artifactid> <version>${build-helper-maven-plugin.version}</version> <executions> <execution> <phase>generate-sources</phase> <goals> <goal>add-source</goal> </goals> <configuration> <sources> <source>src/main/gen</source> </sources> </configuration> </execution> </executions> </plugin> </plugins> </build> <dependencies> <dependency> <groupid>${project.groupid}</groupid> <artifactid>ts-core</artifactid> <version>${project.version}</version> </dependency> <dependency> <groupid>corporate-tools.fragmental.security</groupid> <artifactid>basic-ws-client</artifactid> <version>${fragmental.version}</version> </dependency> <!-- jee --> <dependency> <groupid>javax.j2ee</groupid> <artifactid>j2ee</artifactid> <version>1.4</version> <scope>provided</scope> </dependency> <!-- jax-ws --> <dependency> <groupid>commons-logging</groupid> <artifactid>commons-logging</artifactid> <version>1.1.1</version> </dependency> <dependency> <groupid>javax.xml.bind</groupid> <artifactid>jaxb-api</artifactid> <version>${jaxws.version}</version> </dependency> <dependency> <groupid>javax.xml.ws</groupid> <artifactid>jaxws-api</artifactid> <version>${jaxws.version}</version> <exclusions> <exclusion> <groupid>javax.xml.soap</groupid> <artifactid>saaj-api</artifactid> </exclusion> <exclusion> <artifactid>jsr250-api</artifactid> <groupid>javax.annotation</groupid> </exclusion> </exclusions> </dependency> </dependencies> </project>
the release plugin has kinda strange (for me ;)) usage special properties , forwarding them real goal executed. if use normal profile argument -pprod work. other arguments add @ mvn call ignored. try following one:
mvn release:prepare -b release:perform -darguments="-denv=prd"
Comments
Post a Comment