首页 > 技术文章 > 活用maven使web.xml可以用maven变量

juforg 2014-03-13 14:40 原文

活用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>

 

推荐阅读