Ant 使用筛选/修改的web.xml构建war
在构建时,我正在使用属性文件中的变量更新存储在web.xml文件中的一些变量,有没有办法简化我在这里所做的工作:Ant 使用筛选/修改的web.xml构建war,ant,war,Ant,War,在构建时,我正在使用属性文件中的变量更新存储在web.xml文件中的一些变量,有没有办法简化我在这里所做的工作: <target name="war-test" depends="compile"> <mkdir dir="${dist}"/> <mkdir dir="${dist}/tmp"/> <copy file="WebContent/WEB-INF/web.xml.
<target name="war-test" depends="compile">
<mkdir dir="${dist}"/>
<mkdir dir="${dist}/tmp"/>
<copy file="WebContent/WEB-INF/web.xml.templ" tofile="${dist}/tmp/web.xml">
<filterchain>
<replacetokens>
<token key="smtp.hostname" value="${test.smtp.hostname}"/>
<token key="smtp.port" value="${test.smtp.port}"/>
</replacetokens>
</filterchain>
</copy>
<war destfile="${dist}/mywarfile-test.war" webxml="${dist}/tmp/web.xml">
<fileset dir="WebContent">
<exclude name="META-INF/**"/>
<exclude name="META-INF"/>
<exclude name="WEB-INF/**"/>
<exclude name="WEB-INF"/>
</fileset>
<lib dir="lib">
<exclude name="somelibrary.jar"/>
</lib>
<classes dir="${build}"/>
</war>
<delete dir="${dist}/tmp"/>
<antcall target="clean"/>
</target>
是否需要创建tmp目录?如果不想将web.xml直接复制到WebContent/web-INF并删除该文件夹的排除项,则需要将其放置在临时位置。 没有子元素可以让您像清单一样动态创建它 正如奥斯所说,似乎有一些奇怪的、拼写错误或类似的东西。 您可以创建“${dist}/metainf/web.xml”,但包括“${dist}/tmp/web.xml” 如果需要更少的线,可以使用以下内容替换过滤器链:
<filterset>
<filter token="smtp.hostname" value="${test.smtp.hostname}" />
<filter token="smtp.port" value="${test.smtp.port}" />
</filterset>