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

时间:2012-05-17 12:46:14

标签: java eclipse

我正在使用Eclipse Indigo和MercurialEclipse插件(1.9.1.v201111302231)。 工作区包含~25个java项目。

问题在于,每当我提出新的更改时,我都必须:

  1. 取消选中“Project | Build Automatically”
  2. 清除“Project | Clean ...”
  3. 中的所有内容
  4. 从项目资源管理器中刷新所有项目。
  5. 检查“Project | Build Automatically”
  6. 当我调试项目时,有时会出现奇怪的错误,然后我必须重复相同的步骤。整体体验很糟糕。我的问题 - 这是Eclipse应该如何工作的?它可以是MercurialEclipse插件,这会导致这一切吗?我该如何解决?

    我意识到我的问题可能缺少一些信息,请告诉我缺少什么,我会添加它。

    感谢。

    修改

    1. 项目有时会出错,但这只是因为Eclipse没有自动刷新/构建依赖项目。当我手动刷新依赖项时 - 错误消失。
    2. 步骤1和4是绝望的,因为只有2和3有时是不够的。
    3. 所有项目都是普通的Java项目。
    4. 我不确定在项目上提供什么信息,只是附加他们的.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>
      

      的.project:

      <?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>
      

      我很乐意提供更多信息 - 只需说出来。

1 个答案:

答案 0 :(得分:2)

可能您需要手动清理和构建,因为您的项目没有自动构建,因为您的项目可能存在错误而无法编译。

检查“问题”选项卡。