Eclipse自动构建输出与Maven命令行构建输出交互

问题描述:

由于两者都使用目标目录,Eclipse的构建输出有时会干扰在命令行运行的mvn构建的输出。Eclipse自动构建输出与Maven命令行构建输出交互

将两个输出分开的最佳方式是什么?

+0

我对这个问题的答案,但还不能提交由于计算器的限制 - 将张贴在八小时内 – 2012-04-18 11:27:55

+0

我与Maven/Eclipse的联合工作,并与汽车没有问题编译等问题是什么? – khmarbaise 2012-04-18 13:15:48

+0

@khmarbaise - 问题在于,当CLI Maven清理目标目录时,Eclipse自动启动重新生成它,只有当您配置Eclipose自动重新填充时,才会干扰CLI Maven的操作 – 2012-04-18 13:23:30

将以下内容插入到您的pom.xml中。 Eclipse的“m2e.version”属性将激活以下轮廓从而改变了Eclipse的位置建立

<profiles> 
    <profile> 
    <id>IDE</id> 
    <activation> 
     <property> 
     <name>m2e.version</name> 
     </property> 
    </activation> 
    <build> 
     <!-- Put the IDE's build output in a folder other than target, so that IDE builds don't interact with Maven builds --> 
     <directory>target-ide</directory> 
    </build> 
    </profile> 
</profiles> 

官方的方法是这里介绍:
http://wiki.eclipse.org/M2E_FAQ#How_to_configure_Maven_project_to_use_separate_output_folders_in_Eclipse

我个人不这样做。通常我基本上禁用Eclipse中的自动构建,因为大多数构建都是通过控制台完成的。但是,如果你真的想要它,在这里,你是。

+1

谢谢Michal。我的方法是使用一个配置文件来设置一个不同的构建目录,由m2e.version属性的存在激活。因此Eclipse项目属性不需要修改。 – 2012-04-18 13:22:33

+1

是的,这也应该工作,它更简单。 – 2012-04-18 13:32:55

如果你使用Maven的Eclipse的插件而不是m2eclipse的,这里就是你为了改变在Eclipse要定义输出目录:

<plugin> 
    <artifactId>maven-eclipse-plugin</artifactId> 
    <version>2.9</version> 
    <configuration> 
    <buildOutputDirectory>target-eclipse/classes</buildOutputDirectory> 
    <downloadSources>true</downloadSources> 
    <downloadJavadocs>true</downloadJavadocs> 
    </configuration> 
</plugin>