Well this was a PBKAC - I did not have a profile activated that defined the
properties to be substituted. Shows what happens when you've been away from
a project.

So here are some other things I learned along the way:

* the property interpolation is done in the process-resources phase, so the
command is better stated

    mvn -DmyPropertyActivatedProfile clean compile process-resources
war:exploded

and then you can tack on your favorite deployer at the end, such as
tomcat-maven-plugin, jboss-maven-plugin, or cargo-maven2-plugin. Check out
the well-documented plugin pages.

* using mvn -X  will enable good debug so you can see what's happening





wkbutler wrote:
> 
> Hello - 
> I believe this should be an easy thing but somehow is not working, using
> Maven 2.1.0.
> 
> This is one of our resource files -- 
> src/main/resources/applicationContext-resource.xml:
> 
>     <bean id="e3DataSource"
> class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
>         <property name="driverClassName"
> value="${e3.jdbc.driverClassName}"/>
>         <property name="url" value="${e3.jdbc.url}"/>
>         <property name="username" value="${e3.jdbc.username}"/>
>         <property name="password" value="${e3.jdbc.password}"/>
>         <property name="maxActive" value="100"/>
>         <property name="maxWait" value="1000"/>
>         <property name="poolPreparedStatements" value="true"/>
>         <property name="defaultAutoCommit" value="true"/>
>     </bean>
> 
> 
> When I execute
>     mvn clean compile war:exploded
> 
> I am expecting the ${property.values} to be interpolated with properties
> defined in the pom.xml.
> 
> I think that the only thing required to make this work is to include this
> section in my POM:
> 
>   <build>
>     <resources>
>       <resource>
>         <directory>src/main/resources</directory>
>         <filtering>true</filtering>
>       </resource>
>     </resources>
>   </build>
> 
> as per this documentation  
>   
> http://maven.apache.org/guides/getting-started/index.html#How%20do%20I%20filter%20resource%20files
> .
> 
> This is not working, however. The generated WAR still contains
> un-interpolated values like ${e3.jdbc.url} in that file listed above, and
> the rest of our src/main/resources files.
> 
> What is confusing to me is that 
> #1  - the maven-jetty-plugin manages to do this without any special
> configuration - jetty runs fine
> 
> #2 - the Maven Getting Started Guide referenced above suggests prefixing
> property names with "pom", such as ${pom.e3.jdbc.url} - so I tried that of
> course, with no luck.
> 
> Am I missing something? Should this be working as-is?
> 
> This is our maven-war-plugin configuration FWIW:
> 
>                       <plugin>
>                               <artifactId>maven-war-plugin</artifactId>
>                               <version>2.0.2</version>
>                               <configuration>
>                                       
> <filteringDeploymentDescriptors>true</filteringDeploymentDescriptors>
>                               </configuration>
>                       </plugin>
> 
> and I did try the <filters> section, but that seems to be for using
> external/supplemental configuration files.  I did not try using pom.xml as
> a filter, but that seems redundant.
> 
> Help!  Thanks - 
> Kent
> 
> 
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Property-interpolation-in-war-plugin-tp23965676p23983461.html
Sent from the Maven - Users mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to