10

我正在使用 Maven AntRun 插件 1.6,从他们的示例中我无法编写以下要执行的 ant 任务。

示例网址:http ://maven.apache.org/plugins/maven-antrun-plugin/examples/classpaths.html

当我执行 mvn antrun:run 时,我只收到以下消息。未定义 ant 目标 - 已跳过

我究竟做错了什么?

这是我的POM:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.6</version>
            <executions>
                <execution>
                    <id>compile</id>
                    <phase>compile</phase>
                    <configuration>
                        <target>
                            <property name="compile_classpath" refid="maven.compile.classpath" />
                            <property name="runtime_classpath" refid="maven.runtime.classpath" />
                            <property name="test_classpath" refid="maven.test.classpath" />
                            <property name="plugin_classpath" refid="maven.plugin.classpath" />

                            <echo message="compile classpath: ${compile_classpath}" />
                            <echo message="runtime classpath: ${runtime_classpath}" />
                            <echo message="test classpath:    ${test_classpath}" />
                            <echo message="plugin classpath:  ${plugin_classpath}" />
                        </target>
                    </configuration>
                    <goals>
                        <goal>run</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
4

2 回答 2

25

试试这个

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.7</version>
            <executions>
                <execution>
                    <id>default-cli</id>
                    <configuration>
                        <target>
                            <property name="compile_classpath" refid="maven.compile.classpath" />
                            <property name="runtime_classpath" refid="maven.runtime.classpath" />
                            <property name="test_classpath" refid="maven.test.classpath" />
                            <property name="plugin_classpath" refid="maven.plugin.classpath" />

                            <echo message="compile classpath: ${compile_classpath}" />
                            <echo message="runtime classpath: ${runtime_classpath}" />
                            <echo message="test classpath:    ${test_classpath}" />
                            <echo message="plugin classpath:  ${plugin_classpath}" />
                        </target>
                    </configuration>
                    <goals>
                        <goal>run</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

记下身份证

<id>default-cli</id>

并运行命令

mvn antrun:run

这样做的原因:如果您实际上不想“编译”,则运行“mvn compile”来执行其他操作可能会适得其反。

于 2012-06-13T07:11:18.760 回答
7

由于你已经在你的 中配置了 maven antrun 插件pom.xml,你只需要调用为插件配置的生命周期目标。在这种情况下

mvn compile

这将做必要的事情。

于 2011-06-08T02:17:25.097 回答