活用maven使web.xml可以用maven变量

废话不多说,直接上代码

    <build>
<finalName>${finalWarName}</finalName>
<defaultGoal>compile</defaultGoal>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/webapp</directory>
<filtering>true</filtering>
<includes>
<include>WEB-INF/web.xml</include>
</includes>
<targetPath>${project.build.directory}/${project.build.finalName}</targetPath>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<!-- http://maven.apache.org/plugins/maven-war-plugin/ -->
<webXml>src/main/webapp/WEB-INF/web.xml</webXml>
<outputDirectory>${war.outpath}</outputDirectory>
</configuration>
</plugin>
</plugins>
</build>

重点是在resource中包含了web.xml并将其输出至默认目录,并在war插件中指明webXml属性,此二者缺一不可

效果:

打包前:

  <context-param>
<param-name>spring.profiles.default</param-name>
<param-value>${datasource.type}</param-value>
</context-param>

打包后:

  <context-param>
<param-name>spring.profiles.default</param-name>
<param-value>JDBC</param-value>
</context-param>
05-07 15:43