2010-12-23 41 views
4

我在Eclipse中使用m2eclipse插件,以便导入Maven项目。该插件读取pom.xml,并以Eclipse友好的方式对项目中的依赖关系进行排序,所以我没有看到大量的引用和错误。如何停止m2eclipse插件干扰命令行mvn构建?

我使用Eclipse进行代码开发,但我通常从命令行构建项目,例如, “mvn干净安装”。

不幸的是,当我这样做时,m2eclipse会检测磁盘活动并尝试重建工作区。这会干扰命令行构建,有时会导致竞争状况。例如,命令行可能处于清理阶段,但会失败,因为它会尝试删除在工作空间重建过程中被锁定的文件或目录。除了那个工作空间重建速度非常慢之外,在失败的构建和浪费CPU之间,我的构建过程比应该长2-3倍。

它不是不使用Eclipse一个选项(例如使用的Netbeans),或禁用m2eclipse的。除了这种行为,它是一个有用的插件。

所以我的问题是,如何从重建工作区所有的时间停止m2eclipse的?我可以调用手动刷新,否则禁用此行为?

回答

2

作为速战速决,你可以禁用自动Eclipse构建取消勾选Project > Build Automatically

0

的问题是,Eclipse的检测编译资源都走了,并开始重建。

您不应该执行mvn clean install,而是mvn install,因为您的所有资源都已更新。

+0

插件确实,当我做了一个“MVN安装”工作区重建甚至 – locka 2010-12-23 10:29:08

+0

嗯,这取决于你的POM以及。你可以发布吗?否则,您应该向M2Eclipse报告错误:https://issues.sonatype.org/browse/MNGECLIPSE。 – 2010-12-23 12:58:01

0

除了什么dimitrisli说,我会建议使用Eclipse和命令行不同的输出目录。

您可以通过定义一个新的配置做到这一点(如“日蚀”),并设置输出目录在该配置文件<outputDirectory>${project.build.directory}/classes-eclipse</outputDirectory>

即使你在并行建造(从Eclipse和命令行)这样他们就不会互相干扰。