我正在研究Apache ANT上的一些代码块
<target name="workload">
<script language="javascript"><![CDATA[
println("<div id='collapseOne' class='accordion-body collapse in'><div class='accordion-inner'><pre>"); ]]>
</script>
<apply dir="${dir.publish.ini}" executable="java" parallel="false" failonerror="false">
<fileset dir="${dir.ini}">
<include name="**/*.ini"/>
</fileset>
<arg value="-jar" />
<arg path="${tool}" />
<srcfile/>
</apply>
<script language="javascript"><![CDATA[ println("</pre></div></div>"); ]]></script>
</target>
Run Code Online (Sandbox Code Playgroud)
当我使用<antcall target="workload"/>
它工作正常.
我必须优化此代码块.所以我尝试使用以下代码:
<macrodef name="workload">
<script language="javascript"><![CDATA[
println("<div id='collapseOne' class='accordion-body collapse in'><div class='accordion-inner'><pre>"); ]]>
</script>
<apply dir="${dir.publish.html}" executable="java" parallel="false" failonerror="false">
<fileset dir="${dir.ini}">
<include name="**/*.ini"/>
</fileset>
<arg value="-jar" />
<arg path="${tool}" />
<srcfile/>
</apply>
<script language="javascript"><![CDATA[ println("</pre></div></div>"); ]]></script>
</macrodef>
Run Code Online (Sandbox Code Playgroud)
当我打电话时<antcall target="workload"/>它向我显示以下错误:
macrodef doesn't support the nested "script" element.
Run Code Online (Sandbox Code Playgroud)
其中macrodef不支持脚本!怎么能克服这个?或者有没有更好的方法来优化我的build.xml代码块?
您正在将目标内的任务转换为macrodef以供重用.在这种情况下,捕获sequentialmacrodef块内的逻辑.
http://ant.apache.org/manual/Tasks/macrodef.html
| 归档时间: |
|
| 查看次数: |
2244 次 |
| 最近记录: |