Merkwürdiges Verhalten von Eclipse

  • Themenstarter Themenstarter HeMan
  • Beginndatum Beginndatum
H

HeMan

Gast
Wenn ich in einem meiner Projekte eine Java-Quelle ändere und speicher bekomme ich lauter Compilerfehler.
Er findet dann anscheinend alle Imports, die in meinen eigenen Packages liegen nicht mehr: The import mypackage.xy cannot be resolved.
Wenn ich dann irgendeine Lib aus dem Build Path remove und wieder einfüge sind die Fehler wieder weg.
Kann mir das jemand erklären?
 
Danke für den Tip. Mit dem Clean spare ich mir das löschen und wieder einfügen einer Lib wenn die Fehler aufgetaucht sind.
Dann ist erstmal wieder alles in Ordnung, bis zum nächsten Ant-Build.
Wenn ich einen Ant-Build durchführe und dann wieder eine Quelle ändere und speichere tritt das Problem erneut auf und ich muss wieder einen Clean machen.
Ich benutzte übrigens Eclipse 3.4.2
 
Hier ein Ausschnitt meiner build.xml:

<project name="myProject" default="build.war" basedir=".">
<property file="build.properties"/>
<property name="projectname" value="myProject" />
<property name="src" value="${eclipse}" />
<property name="build" value="${src}/build" />
<property name="target" value="${jboss}" />

<property name="commons-beanutils" value="${src}/lib/commons-beanutils-1.7.0.jar" />
...

<path id="classpath">
<pathelement location="${commons-beanutils}"/>
...
</path>

<target name="prepare">
<mkdir dir="${build}/WEB-INF" />
<mkdir dir="${build}/WEB-INF/classes" />
<mkdir dir="${build}/WEB-INF/lib" />
</target>

<target name="build" depends="prepare">
<javac srcdir="${src}/src" destdir="${build}/WEB-INF/classes" debug="true" debuglevel="lines,vars,source" compiler="javac1.5">
<include name="**/*.java" />
<classpath refid="classpath"/>
</javac>

<copy todir="${build}/">
<fileset dir="${src}/web">
<include name="*.html" />
<include name="*.gif" />
<include name="*.jpg" />
<include name="*.jsp" />
<include name="*.xml" />
<include name="*.reg" />
</fileset>
</copy>

<copy todir="${build}/WEB-INF"><fileset dir="${src}/web/WEB-INF" /></copy>
<copy todir="${build}/WEB-INF/classes/..."><fileset dir="${src}/src/..." /></copy>
<copy todir="${build}/WEB-INF/lib"><fileset dir="${src}/lib"/></copy>
...
</target>

<target name="build.war" depends="build">
<jar jarfile="${target}/server/default/deploy/${projectname}.war" basedir="${build}"/>
<delete dir="${build}" />
</target>
</project>
 
Falls Du im build in einem Verzeichnis kompilierte Klassen löschst, und Eclipse ebenfalls dort hineinkompiliert (auto build lala), bekommst Du ebenfalls Probleme und mußt ständig cleanen.
 
Klingt logisch. Ich habe jetzt das <delete dir="${build}" /> am Ende gelöscht und die Probleme scheinen nicht mehr aufzutreten. Vielen Dank
 
Du musst allerdings aufpassen, wenn Du den Eclipse-Kompilaten vertraust. Bei fehlerhaften Klassen ist nämlich immer noch eine alte .class Datei im bin-Ordner. Wenn Du fleißig baust und nicht immer die Eclipse-Fehler im Auge behälst, fällt Dir das eventuell erst sehr spät auf.
 

Zurück
Oben