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

前些天写项目的时候碰到一个需求:由于项目在编译打包的时候有三个环境,整合了cas之后需要在web.xml里配置路径,希望在编译的时候这些路径可以像spring的配置文件里一样,能够从.properties文件里读出来(类似于使用$来根据环境取对应的路径)。鉴于自己比较菜,然后在网上找到了解决办法,试了一下果然好用。配置如下:

<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属性,此二者缺一不可。

效果:

打包前:

<init-param>
<!-- 到服务器地址,注意后面的/login -->
<param-name>casServerLoginUrl</param-name>
<param-value>${H5UIDesigner.cas.server.host}/login</param-value>
</init-param>
<init-param>
<!-- 本程序所在的URL -->
<param-name>service</param-name>
<param-value>${H5UIDesigner.cas.service.host}/login</param-value>
</init-param>


打包后:

<init-param>
<!-- 到服务器地址,注意后面的/login -->
<param-name>casServerLoginUrl</param-name>
<param-value>https://cas.paxdata.com:8443/cas/login</param-value>
</init-param>
<init-param>
<!-- 本程序所在的URL -->
<param-name>service</param-name>
<param-value>https://localhost:8444/H5UIDesigner/login</param-value>
</init-param>


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值