maven ant任务变量问题

时间:2014-06-11 13:42:02

标签: java eclipse maven ant

我有一个在我的pom文件中指定的maven antrun任务,它的工作是在编译阶段将一些文件从一个地方复制到另一个地方。但是ant没有认识到eclipse.home变量?我尝试过其他变量而我只是运行空白? maven-antrun-plugin有哪些变量?

我的插件:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.7</version>
    <executions>
        <execution>
            <phase>compile</phase>
            <configuration>
                <target>
                    <copy
                        todir="${eclipse.home}/workspace/location/src/main/webapp/realtime">
                        <fileset
                            dir="${eclipse.home}/workspace/location/src/main/webapp/realtime" />
                    </copy>
                    <copy
                        todir="${eclipse.home}/workspace/location/src/main/webapp/reports">
                        <fileset
                            dir="${eclipse.home}/workspace/location/src/main/webapp/reports" />
                    </copy>
                </target>
            </configuration>
            <goals>
                <goal>run</goal>
            </goals>
        </execution>
    </executions>
</plugin>

由于

1 个答案:

答案 0 :(得分:0)

Eclipse可以在编辑文件时识别此属性,因为当您转到Window时,它会在“属性”选项卡中设置 - &gt;偏好 - &gt;蚂蚁 - &gt;运行系统。

如果从命令行或Eclipse中运行Maven构建,但在运行配置的JRE选项卡中使用备用JRE,则Ant将无法识别该属性。但是,如果您尝试使用工作空间JRE运行Maven构建,它可能会识别它,因为该属性是在Eclipse工作区配置中定义的。

最好的解决方案是始终在POM中定义属性,以便即使从命令行运行Maven构建,antrun插件也始终能够识别它。您可以在pom.xml中定义属性,如下所示:

<properties>
    <property.name>propertyValue</property.name>
</properties>