mark
mark

Reputation: 62712

Why does Eclipse have to be constantly cleaned/refreshed?

I am using Eclipse Indigo with MercurialEclipse plugin (1.9.1.v201111302231). The workspace contains ~25 java projects.

The problem is that every time I pull new changes I have to:

  1. Uncheck "Project|Build Automatically"
  2. Clean all from "Project|Clean ..."
  3. Refresh all the projects from the project explorer.
  4. Check back "Project|Build Automatically"

Sometimes weird errors pop up when I debug a project and then I have to repeat the same steps. The overall experience is terrible. My question - is this how Eclipse is supposed to work? Can it be the MercurialEclipse plugin, which causes all this? How can I fix it?

I realize that my question probably lacks some information, please tell me what is missing and I will add it.

Thanks.

EDIT

  1. The project sometimes has errors, but only because Eclipse did not automatically refreshed/built the dependency projects. When I manually refresh the dependencies - errors disappear.
  2. Steps 1 and 4 are done out of desperation, because just 2 and 3 sometimes are not enough.
  3. All the projects are normal Java projects.

I am not sure what information to provide on the projects, except just attach their .classpath and .project files. For instance, here they are from just one 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>

I will gladly provide more info - just say what.

Upvotes: 2

Views: 1911

Answers (1)

Alfabravo
Alfabravo

Reputation: 7569

Probably you need to clean and build manually because your project is not building automatically as your project probably has errors which keeps it from compiling.

Check the Problems tab.

Upvotes: 2

Related Questions