Eclipse自动构建输出与Maven命令行构建输出相互影响。

10

由于Eclipse和mvn构建都使用目标目录,所以Eclipse的构建输出有时会干扰在命令行上运行的mvn构建输出。

最好的方法是如何分离这两个输出?


我已经有了这个问题的答案,但由于stackoverflow的限制,暂时无法提交 - 将在八小时后发布。 - Chris Beach
我正在使用Maven/Eclipse组合进行工作,自动编译等方面没有任何问题。问题出在哪里? - khmarbaise
1
@khmarbaise - 问题在于当CLI Maven清理目标目录时,Eclipse会自动开始重新填充它,这可能会干扰CLI Maven的操作。 - Chris Beach
只有在您已经配置了Eclipse自动重新填充的情况下才会自动刷新。在我的情况下,我需要手动刷新... - khmarbaise
@khmarbaise 我想让 Eclipse 对文件系统进行轮询,所以这对我来说是必要的。 - Chris Beach
3个回答

12

请将以下内容插入您的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>

1

1
谢谢Michal。我的方法是使用一个配置文件,设置不同的构建目录,并通过m2e.version属性的存在来激活。因此,无需修改Eclipse项目属性。 - Chris Beach

0
如果您使用maven-eclipse-plugin而不是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>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接