Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ant 使用筛选/修改的web.xml构建war_Ant_War - Fatal编程技术网

Ant 使用筛选/修改的web.xml构建war

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.

在构建时,我正在使用属性文件中的变量更新存储在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>