Муравей: Как выполнить команду для каждого файла в каталоге?

Вы попытались использовать Проводник Процесса от SysInternals? Это дает намного лучшую идею того, что работает в рамках процесса. Доступный бесплатно онлайн здесь: http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

95
задан Tuxdude 15 March 2013 в 04:37
поделиться

3 ответа

Short Answer

Use with a nested

Foreach requires ant-contrib.

Updated Example for recent ant-contrib:

<target name="foo">
  <foreach target="bar" param="theFile">
    <fileset dir="${server.src}" casesensitive="yes">
      <include name="**/*.java"/>
      <exclude name="**/*Test*"/>
    </fileset>
  </foreach>
</target>

<target name="bar">
  <echo message="${theFile}"/>
</target>

This will antcall the target "bar" with the ${theFile} resulting in the current file.

60
ответ дан 24 November 2019 в 05:48
поделиться

Подход без ant-contrib предлагается Тассило Хорном (исходная цель здесь )

В основном , поскольку нет расширения (пока?) таким же образом что extends , он предлагает использовать (который, конечно, также может запускать java-программу в командной строке)

Вот несколько примеров:

  <apply executable="java"> 
    <arg value="-cp"/> 
    <arg pathref="classpath"/> 
    <arg value="-f"/> 
    <srcfile/> 
    <arg line="-o ${output.dir}"/> 

    <fileset dir="${input.dir}" includes="*.txt"/> 
  </apply> 
27
ответ дан 24 November 2019 в 05:48
поделиться

ant-contrib is evil; написать специальную задачу ant.

ant-contrib - это зло, потому что он пытается преобразовать ant из декларативного стиля в императивный стиль. Но xml создает дерьмовый язык программирования.

В отличие от этого пользовательская задача ant позволяет вам писать на реальном языке (Java) с реальной IDE, где вы можете писать модульные тесты, чтобы убедиться, что у вас есть желаемое поведение, а затем сделайте ясное объявление в вашем сценарии сборки о желаемом поведении.

Эта напыщенная речь имеет значение только в том случае, если вы заботитесь о написании поддерживаемых сценариев ant. Если вас не заботит ремонтопригодность, делайте все, что работает. :)

Jtf

15
ответ дан 24 November 2019 в 05:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: