मैं अपने वेब प्रोजेक्ट में निर्देशिका पर कम सीएसएस प्रीप्रोसेसर निष्पादित करने के लिए मेवेन सेट अप करने की कोशिश कर रहा हूं। मूल प्रवाह है:maven-antrun-plugin में कॉलिंग foreach
- मेवेन मेवेन-एंट्रून-प्लगइन को कॉल करता है।
- एंटी-कॉन्ट्रिब
<foreach/>
एक निर्देशिका के माध्यम से loops और सभी unless फ़ाइलों को पाता है और एक लक्ष्य कहते हैं। - लक्ष्य राइनो निष्पादित करता है, जो कम से कम निष्पादित करता है जो फ़ाइल को परिवर्तित करता है।
ऐसा करने के लिए, मैं निम्न 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]
ऐसा प्रतीत होता है कि चींटी में कुछ पीओएम फ़ाइल को पढ़ने की कोशिश कर रहा है, संभवतः लक्ष्य की तलाश में है। मैं देखता हूं कि दोनों लक्ष्य फाइल लक्ष्य/antrun/build-main.xml और target/antrun/build-processLessFile.xml में उत्पन्न किए गए हैं, इसलिए यह निर्देशिका है जो इसे देखना चाहिए।
आपका मतलब एंटी-कोलाब की बजाय चींटी-contrib है, है ना? –
धन्यवाद, मैं उस गलत टाइपिंग को जारी रखता हूं। –