Вызов foreach в maven -antrun -плагин

Я пытаюсь настроить maven для выполнения препроцессора LESS CSS в каталоге в моем веб-проекте. Основной поток:

  1. Maven вызывает плагин maven -antrun -.
  2. Ant -contrib <foreach/>просматривает каталог, находит все файлы.less и вызывает цель.
  3. Цель выполняет Rhino, который выполняет LESS, который преобразует файл.

Для этого у меня есть следующий XML:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.7</version>
            <executions>
                <execution>
                    <phase>compile</phase>
                    <configuration>
                        <target name="processLessFile">
                            <!--... -->
                        </target>
                        <target name="main">
                            <taskdef resource="net/sf/antcontrib/antcontrib.properties" classpathref="maven.plugin.classpath"/>
                            <property name="css.dir" location="src/main/webapp/css"/>
                            <foreach param="file" target="processLessFile">
                                <fileset dir="${css.dir}">
                                    <filename name="**/*.less" />
                                </fileset>
                            </foreach>
                        </target>
                    </configuration>
                    <goals>
                        <goal>run</goal>
                    </goals>
                </execution>
            </executions>
            <dependencies>
                <dependency>
                    <groupId>ant</groupId>
                    <artifactId>ant-contrib</artifactId>
                    <version>1.0b2</version>
                </dependency>
            </dependencies>
        </plugin>

Проблема, с которой я сталкиваюсь, заключается в том, что «основная» цель начинает выполняться, но затем происходит сбой в<foreach>:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (default) on project model-web-project: An Ant BuildException has occured: The following error occurred while executing this line:
[ERROR] /Users/.../pom.xml:4: Unexpected element "{http://maven.apache.org/POM/4.0.0}project" {antlib:org.apache.tools.ant}project
[ERROR] around Ant part...<foreach param="file" target="processLessFile">... @ 6:50 in /Users/.../target/antrun/build-main.xml
[ERROR] -> [Help 1]

Похоже, что-то в Ant заставляет его пытаться прочитать файл POM, возможно, в поисках цели. Я вижу, что обе цели были сгенерированы в файлы target/antrun/build -main.xml и target/antrun/build -processLessFile.xml, так что это каталог, в котором он должен искать.

5
задан Brian Nickel 24 May 2012 в 16:09
поделиться