я работаю на некотором блоке кода на Apache ANTScript Поддержка тегов - ошибка: macrodef не поддерживает вложенный элемент «скрипт»
<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>
Когда я использую <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>
И когда я назвал <antcall target="workload"/>
Он показал мне следующее сообщение об ошибке:
macrodef doesn't support the nested "script" element.
Что это macrodef не поддерживает скрипт! Как можно преодолеть это? или Есть ли лучший способ оптимизировать блок кода build.xml?
It's, Working now. Но написать способ использования macrodef вместо целевого. Потому что, когда я использовал цель, он запустил 10 секунд для выполнения моей задачи, а с помощью макродефа - 15 секунд! –
Выглядит хорошо. Является ли это медленным, когда вы вызываете несколько раз как часть одного шага сборки? – Jayan
Вы догадываетесь об этом правильно; Да! Я вызываю его несколько раз как часть одного и того же шага сборки. –