Java 为什么Eclipse必须不断地清理/刷新?

Java 为什么Eclipse必须不断地清理/刷新?,java,eclipse,Java,Eclipse,我正在使用EclipseIndigo和MercurialClipse插件(1.9.1.v201111302231)。 工作区包含约25个java项目 问题是,每次我进行新的更改时,我必须: 取消选中“项目|自动生成” 从“项目|清洁…”中清除所有内容 从项目资源管理器刷新所有项目 勾选“项目|自动生成” 有时候,当我调试一个项目时,会出现奇怪的错误,然后我不得不重复同样的步骤。整个经历是可怕的。我的问题是——Eclipse应该是这样工作的吗?可能是MercurialClipse插件导致了这一切吗

我正在使用EclipseIndigo和MercurialClipse插件(1.9.1.v201111302231)。 工作区包含约25个java项目

问题是,每次我进行新的更改时,我必须:

  • 取消选中“项目|自动生成”
  • 从“项目|清洁…”中清除所有内容
  • 从项目资源管理器刷新所有项目
  • 勾选“项目|自动生成”
  • 有时候,当我调试一个项目时,会出现奇怪的错误,然后我不得不重复同样的步骤。整个经历是可怕的。我的问题是——Eclipse应该是这样工作的吗?可能是MercurialClipse插件导致了这一切吗?我怎样才能修好它

    我意识到我的问题可能缺少一些信息,请告诉我缺少什么,我会补充

    谢谢

    编辑

  • 项目有时会出错,但这只是因为Eclipse没有自动刷新/构建依赖项项目。当我手动刷新依赖项时,错误就会消失
  • 第1步和第4步是出于绝望而完成的,因为只有第2步和第3步有时是不够的
  • 所有的项目都是普通的Java项目
  • 除了附加它们的.classpath和.project文件外,我不确定要提供关于这些项目的哪些信息。例如,它们来自一个项目:

    .classpath:

    <?xml version="1.0" encoding="UTF-8"?>
    <classpath>
        <classpathentry kind="src" path="src"/>
        <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
        <classpathentry combineaccessrules="false" kind="src" path="/Common"/>
        <classpathentry kind="lib" path="../3rdParty/log4j/1.2.16/log4j-1.2.16.jar"/>
        <classpathentry combineaccessrules="false" kind="src" path="/WebApi"/>
        <classpathentry combineaccessrules="false" kind="src" path="/Core"/>
        <classpathentry kind="lib" path="../3rdParty/restlet-jse/2.0.10/lib/org.restlet.jar" sourcepath="C:/Program Files (x86)/Restlet Framework/Edition Java SE/2.0.10/src"/>
        <classpathentry kind="lib" path="../3rdParty/guice/3.0/aopalliance.jar"/>
        <classpathentry kind="lib" path="../3rdParty/guice/3.0/guice-3.0.jar"/>
        <classpathentry kind="lib" path="../3rdParty/restlet-jse/2.0.10/lib/javax.ws.rs_1.0/javax.ws.rs.jar"/>
        <classpathentry combineaccessrules="false" kind="src" path="/DTOs"/>
        <classpathentry combineaccessrules="false" kind="src" path="/NetworkEditor"/>
        <classpathentry kind="lib" path="../3rdParty/guice/3.0/guice-multibindings-3.0.jar"/>
        <classpathentry combineaccessrules="false" kind="src" path="/Bootstrapper"/>
        <classpathentry kind="lib" path="../3rdParty/guice/3.0/javax.inject.jar"/>
        <classpathentry combineaccessrules="false" kind="src" path="/ShunraLicense"/>
        <classpathentry kind="output" path="bin"/>
    </classpath>
    
    
    
    .项目:

    <?xml version="1.0" encoding="UTF-8"?>
    <projectDescription>
        <name>VCat</name>
        <comment></comment>
        <projects>
        </projects>
        <buildSpec>
            <buildCommand>
                <name>org.eclipse.jdt.core.javabuilder</name>
                <arguments>
                </arguments>
            </buildCommand>
        </buildSpec>
        <natures>
            <nature>org.eclipse.jdt.core.javanature</nature>
        </natures>
    </projectDescription>
    
    
    VCat
    org.eclipse.jdt.core.javabuilder
    org.eclipse.jdt.core.javanature
    

    我很乐意提供更多的信息-说什么就好。

    您可能需要手动清理和生成,因为您的项目没有自动生成,因为您的项目可能有错误,无法编译


    检查“问题”选项卡。

    步骤1和4不需要。我怀疑这就是它的工作原理。我将Indigo与Subversion结合使用,这是一种冒险。您的构建没有正确设置,它们是web项目吗:因为您没有告诉我们关于您的项目或构建的任何信息,所以我们不可能猜到有什么问题。单个工作区中有25个项目?dude创建另一个工作空间,即使项目没有任何重大问题(我的工作空间只有来自不同项目的少量警告,而不是我要构建的项目),但当我尝试构建项目时,它不会被构建。我总是必须
    Project->Clean->Clean下面选择的项目,并立即开始构建
    我试图构建的是一个动态web项目(我正在学习关于servlet的教程),其中只有两个servlet。