Eclipse无休止地循环:调用'Maven Project Builder'

问题描述 投票:44回答:13

啊!我的Eclipse陷入无休止的循环:

  • 此时无法显示任何操作
  • 刷新工作区构建
  • 工作区。在/ MobileWebApp上调用“Maven Project Builder”

建筑工作空间永远不会超过58%。

细节:

Google的GWT提供了一个示例应用程序MobileWebApp。他们通过SCM中的File> Import> Checkout Maven项目来suggest adding it to Eclipse

我按照this blog中的说明添加了m2e,subclipse和m2e-subclipse连接器的插件。

安装插件后,我通过SCM和this URL的File> Import> Checkout Maven项目导入了示例项目。

导入似乎完成正常,Eclipse不显示任何标记。但是现在我有了无尽的清新和建筑,并且不知道是什么导致它或如何修复它。

版本:

  • Eclipse Indigo 3.7
  • m2e 1.0.100
  • 用于build-helper-maven-plugin的m2e连接器0.14
  • Maven SCM交易Subclipse 0.13
  • Subclipse 1.6.18
  • Subclipse客户端适配器1.6.12

任何意见是极大的赞赏。

eclipse maven m2eclipse
13个回答
21
投票

我打开了我的模块的.project文件。有两个条目:

<buildCommand>
  <name>org.maven.ide.eclipse.maven2Builder</name>
</buildCommand>
<buildCommand>
  <name>org.eclipse.m2e.core.maven2Builder</name>
</buildCommand>

我删除了org.eclipse.m2e.core.maven2Builder条目,它神奇地修复了问题。


0
投票

我做了类似于Amos M. Carpenter的回应(https://stackoverflow.com/a/28713259/4470352

但我也创建了一个具有以下配置的新自定义构建器:

  1. 选择配置类型 - >程序
  2. 位置(文本框)<= D:\ apache-maven-3.3.9 \ bin \ mvn.cmd(我的自定义专家)
  3. 工作目录(文本框)<= $ {workspace_loc:/ project}
  4. 参数(文本区域) <= clean compile test-DproxySet = true -DproxyHost = a.proxy.host -DproxyPort = 8080

这会编译我没有进度条的项目,但我可以在文本控制台中看到进度。

在我的情况下的问题是每次我编译该项目时,我下载WSDL,我需要提供代理配置。当maven项目构建器插件尝试编译我的项目时,失败并在循环中再次启动。

我试图将它设置为settings.xml maven配置文件,但对我不起作用,并在命令行工作中提供代理配置。

因此,创建该自定义构建器可以完成工作并且是一种新方法。

我希望它可以帮助你。


0
投票

每次我尝试更新maven项目时,工作站上的Eclipse都会挂起。即使在尝试了社区建议的许多解决方案/解决方法后,问题仍未得到解决。唯一对我有用的是从命令提示符运行mvn clean并安装命令。我在任务管理器中结束任务,运行mvn命令,然后重新启动eclipse。重新启动eclipse后运行干净的构建工作正常。


0
投票

我在eclipse中链接了一些文件,但缺少源文件(在此期间删除)。这导致eclipse重新启动构建。删除断开的链接解决了问题。


-1
投票

我有同样的问题。事实证明,我使用管道(|)运算符运行Eclipse,并行运行另一个进程。另一个过程是我的Eclipse线程干扰。一旦我关闭了其他进程,Eclipse工作正常。


18
投票

通过右键单击项目并选择Run As> Maven Clean,我能够解决这个问题


13
投票

我在与GWT无关的eclipse(Juno)Maven项目中遇到了同样的问题 - 它只是保持刷新和“调用Maven项目构建器”。转到进度视图并请求取消进度条目(通过单击右侧的红色停止按钮)没有帮助。

建筑师一直坚持的项目总是相同的,并且在日食中的一组多pom maven项目中有几个层次。

最终为我解决的是进入该特定项目的Properties> Builders并取消选中Maven Project Builder(但保持Java Builder被检查,以便在代码更改时它仍然会自动构建)。我只是忽略了关于这是一个“高级操作”并可能有“许多副作用”的警告 - 我认为它不会比那个不断的构建 - 刷新周期更烦人。我仍然不确定这个循环的原因是什么,但这阻止了我。从那以后我没有遇到任何问题。


8
投票

我实际上解决了jaxb插件引起的问题。如果forceRegenerate设置为true,你将在eclipse中获得构建循环(在我的例子中是Kepler)。

验证maven-jaxb-plugin中是否将forceRegenerate设置为false。

<configuration>                                  
    <forceRegenerate>false</forceRegenerate>
</configuration>

2
投票

即使在日食火星上,M2e似乎也喜欢无限的建筑。

就我而言,没有重复构建命令,如下所示。当项目树巨大时,唯一似乎有效的是:

  1. 开日食
  2. 打开eclipse后立即自动禁用构建
  3. 刷新工作区并触发手动Crtl + B或构建全部。
  4. 一旦eclipse满足它构建完整的项目树...更好的有四个核心机器或者你将等待一段时间,你可以精确地将构建自动选项激活。 Eclipse之后似乎没有进入建筑狂潮。它仍然会扫描一些文件夹一段时间,但是自动激活构建 - 一旦你之前构建了它 - 比新构建的速度快得多,最后,eclipse变得稳定,无限制地构建。

否则,你会被弃用的mvn eclipse:eclipse ...所困扰,不得不放弃在eclipse echosystem中使用maven命令。 M2e似乎有一个非常艰难的时间与野兽合作。

我仍然使用m2e,但必须说它吞下m2e比使用netbeans中的maven整合困难100倍。另一方面,对于非常大的代码库,eclipse要快得多。选择你的毒药,你总会被咬伤。

 <?xml version="1.0" encoding="UTF-8"?>
    <projectDescription>
        <name>rootPom</name>
        <comment></comment>
        <projects>
        </projects>
        <buildSpec>
            <buildCommand>
                <name>org.eclipse.m2e.core.maven2Builder</name>
                <arguments>
                </arguments>
            </buildCommand>
        </buildSpec>
        <natures>
            <nature>org.eclipse.m2e.core.maven2Nature</nature>
        </natures>
    </projectDescription>

1
投票
  1. 我已正确配置了java环境变量(即JAVA_HOME)。
  2. 还添加了jdk路径到环境变量path,在我的情况下路径是C:\Program Files\Java\jdk1.8.0_101\bin
  3. 我还在Eclipse中的“Installed JREs”首选项中添加了JDK home的路径。

不确定哪一个解决了这个问题,我现在看不到自动构建。

在此之后,我创建了一个新的maven项目。默认设置为1.7,这个项目也导致无限循环。但是在eclipse中没有配置1.7。更新项目属性以使用我的eclipse中可用的java版本解决了这个问题。


0
投票

当我将JAVA_HOME更改为新位置时,它有时适合我


0
投票

我打开了我的模块的.project文件。有两个冗余条目,删除一个帮助

<buildCommand>
    <name>org.eclipse.m2e.core.maven2Builder</name>
    <arguments>
    </arguments>
</buildCommand>
<buildCommand>
    <name>org.eclipse.m2e.core.maven2Builder</name>
    <arguments>
    </arguments>
</buildCommand>

0
投票

当maven无法删除某些文件时,通常也会出现此问题。因此,您可以手动转到目标文件夹并清理它并重新启动eclipse。

© www.soinside.com 2019 - 2024. All rights reserved.