Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java maven ant任务变量问题_Java_Eclipse_Maven_Ant - Fatal编程技术网

Java maven ant任务变量问题

Java maven ant任务变量问题,java,eclipse,maven,ant,Java,Eclipse,Maven,Ant,我在pom文件中指定了一个maven antrun任务,它的工作是在编译阶段将一些文件从一个地方复制到另一个地方。但是ant无法识别eclipse.home变量?。。我尝试了其他变量,但我只是在运行空白?maven antrun插件有哪些变量 我的插件: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</a

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

我的插件:

<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>

org.apache.maven.plugins
maven antrun插件
1.7
编写
跑

谢谢

Eclipse可以在编辑文件时识别此属性,因为当您转到窗口->首选项->Ant->运行时,它是在属性选项卡中设置的

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

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

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

财产价值

hmm,我明白了:)。但是我注意到,当我定义属性${ECLIPSE_HOME}时,maven?并没有解决这个问题?。eclipse home的Maven变量是什么???您在哪里定义了eclipse_home?eclipse_home是预定义的,但当我将其作为属性包含时,它不会识别它。第一个eclipse.home或eclipse_home很可能是安装eclipse的位置,而不是项目工作区的位置。您确定工作区文件夹位于Eclipse的安装文件夹中吗?第二,为什么不使用${basedir},它指向pom.xml存在的路径。实际上,我的工作区在安装文件夹中。通常,当我在其他maven任务中使用ECLIPSE_HOME时,它的解决方法很好,但对于这个特殊的任务,它只是不喜欢它${basedir}不适用于此场景,因为我正在将不同目录中的文件复制到pom所在的目录中