LadyPreis Geschrieben 15. April 2010 Geschrieben 15. April 2010 Moin zusammen Ich stehe seit eben vor dem Problem, dass Eclipse mir einige Fehler in meinem Quelltext anzeigt. xxx cannot be resolved to a typeThe method getLayout() is undefined for the type yyyThe import foo.bar.zzz cannot be resolvedThe constructor www(String[]) refers to the missing type vvv Damit wird mir mein kompletter QT vollgehaun. Mir ist klar, das einige Meldungen Folgefehler sind, weil z.b. der import nicht erkannt wird. Hatte jemand von euch schonmal das gleiche Problem? Und wie habt ihr es gelöst? Was mich wundert ist, dass es gestern beim Runterfahren noch ein fehlerfreier QT war :confused: System: XP SP2 Eclipse Galileo JDK 1.6 Zitieren
kingofbrain Geschrieben 15. April 2010 Geschrieben 15. April 2010 Werden im Project Explorer denn alle benötigten Abhängigkeiten korrekt angezeigt? Mit welchem Build-System arbeitest Du (Bei Maven und dem Eclipse Maven Plugin habe ich solche Sachen manchmal). Um welche Klassen handelt es sich (JDK oder benötigte Bibliotheken)? Peter Zitieren
LadyPreis Geschrieben 15. April 2010 Autor Geschrieben 15. April 2010 Werden im Project Explorer denn alle benötigten Abhängigkeiten korrekt angezeigt? ja allerdings wird im Projektexplorer vor nahezu jeder Klasse das Symbol für Fehler angezeigt,... selbst wenn die Klasse keinen hat :upps Mit welchem Build-System arbeitest Du (Bei Maven und dem Eclipse Maven Plugin habe ich solche Sachen manchmal). ganz normaler Java-Builder Um welche Klassen handelt es sich (JDK oder benötigte Bibliotheken)? weder noch. die fehler beziehen sich alle auf selbstgeschriebene klassen in dem projekt. es ist aber unabhängig davon, ob die klassen im gleichen package liegen oder nicht. das interessante ist, dass manche Klassen ohne Probleme funktionieren,... und andere gar nicht. Eben mal getestet: Das Problem bezieht sich nur auf das eine Projekt. Alle anderen Projekte im Workspace verhalten sich so wie sie sollen Zitieren
flashpixx Geschrieben 15. April 2010 Geschrieben 15. April 2010 Es wäre einmal wichtig zu wissen, ob sich der Code per Hand kompilieren lässt. Probier' das bitte einmal mit "javac". Dann können wir nämlich sicher sein, dass es nur an Eclipse liegt, aber der Rest korrekt ist Zitieren
LadyPreis Geschrieben 15. April 2010 Autor Geschrieben 15. April 2010 hätte ich auch ruhig mal selber drauf kommen können :upps aber danke für den denkanstoss. so... gesagt... getan. der fehler scheint nicht an eclipse zu liegen, da ich mit nem javac dieselben meldungen bekomme. ´jetzt heisst es fehlersuche Zitieren
kingofbrain Geschrieben 15. April 2010 Geschrieben 15. April 2010 Wie sieht denn Dein Projekt aus, also welche Verzeichnisse gibt es, wo ist das Wurzelverzeichnis für die Sourcen? Versuch doch mal, an einem Beispiel den Sachverhalt ein wenig genauer zu beschreiben. Du hast eine Klasse X, die hat eine Abhängigkeit zur Klasse Y (inkl. nötigem import), welche Fehler erhältst Du und was zeigt Eclipse wo an? Peter Zitieren
flashpixx Geschrieben 15. April 2010 Geschrieben 15. April 2010 ...oder ggf die Sources posten Zitieren
LadyPreis Geschrieben 15. April 2010 Autor Geschrieben 15. April 2010 ok... ich versuchs mal: Paket-Struktur: xxx.xxx.xxx.mainpaketxxx.xxx.xxx.mainpaket.sub1xxx.xxx.xxx.mainpaket.sub2xxx.xxx.xxx.mainpaket.sub3... Jedes Paket hat eine unterschiedliche Anzahl an Klassen, welche teils über Instanz-Methoden, teils über Klassenmethoden aufeinander zugreifen. Dies hat auch bis gestern wunderbar funktioniert. Seit heute morgen bekomme ich jedoch ne Menge Fehler, die mir sagen, dass einige Klassen nicht gefunden werden können. Bsp: package xxx.xxx.xxx.mainpaket.sub1; public class IncorrectParameterException extends Exception { ... } In einer anderen Klasse versuche ich jetzt diese Exception zu werfen: package xxx.xxx.xxx.mainpaket.sub2; import... import xxx.xxx.xxx.mainpaket.sub1.IncorrectParameterException; public class ClassA extends Irgendwas{ public void machwas() throws IncorrectParameterException { ... } } Fehlermeldung in Eclipse/CommandLine: IncorrectParameterException cannot be resolved to a type Die anderen Fehler sind entweder identisch mit dem hier beschriebenen oder sind Folgefehler Braucht ihr noch was? Zitieren
kingofbrain Geschrieben 15. April 2010 Geschrieben 15. April 2010 Da müsste man jetzt wirklich am Rechner sitzen und sich das anschauen können. Du hast gesagt, auch von der Kommandozeile aus kannst Du nicht kompilieren. Wenn Du eine der benötigten Klassen dort einzeln deployst, und danach einzeln eine der davon Abhängigen, erhältst Du den Fehler dann? Oder ist es so, dass eine der grundlegendsten Klassen nicht kompiliert werden kann? Poste zusätzlich mal die gesamte Ausgabe der Shell, wenn Du mit javac das gesamte Projekt kompilierst. Peter Zitieren
LadyPreis Geschrieben 15. April 2010 Autor Geschrieben 15. April 2010 Ausgabe einer Klasse, welche auf keine andere referenziert: C:\>javac "{lokaler Pfad}\{Projektname}\xxx\xxx\xxx\ mainpaket\ClassA.java" Lässt sich also ohne weiteres Kompilieren Ausgabe einer Klasse, welche eine statische Methode der 1.Klasse aufruft C:\>javac "{lokaler Pfad}\{Projektname}\xxx\xxx\xxx\mainpaket\sub1\ClassB.java" {lokaler Pfad}\{Projektname}\xxx\xxx\xxx\mainpaket\sub1\ClassB.java:10: cannot find symbol symbol : class ClassA location: package xxx.xxx.xxx.mainpaket import xxx.xxx.xxx.mainpaket.ClassA; ^ {lokaler Pfad}\{Projektname}\ xxx\xxx\xxx\mainpaket\sub1\ImagePanel.java:29: cannot find symbol symbol : variable ClassA location: class xxx.xxx.xxx.mainpaket.sub1.ClassB img = img.getScaledInstance(ClassA.machwast(), Image.SCALE_SMOOTH); ^ {lokaler Pfad}\{Projektname}\ xxx\xxx\xxx\mainpaket\sub1\ ClassB.java:29: cannot find symbol symbol : variable ClassA location: class xxx.xxx.xxx.mainpaket.sub1. ClassB img = img.getScaledInstance(ClassA.machwast(), Image.SCALE_SMOOTH); ^ 3 errors Und hier beginnt der Fehler. nachdem was Eclipse mir sagt, liegt ein Problem mit dem Import vor (ist ja auch das, was als erste Fehlermeldung beim javac kommt). Ich kann mir nur nicht erklären, warum -.- Zitieren
kingofbrain Geschrieben 15. April 2010 Geschrieben 15. April 2010 Liegt die von Dir händisch kompilierte Klasse A denn auch da, wo von javac gesucht wird (classpath)? Peter Zitieren
flashpixx Geschrieben 15. April 2010 Geschrieben 15. April 2010 Liegt die von Dir händisch kompilierte Klasse A denn auch da, wo von javac gesucht wird (classpath)? irgendwie nimmst Du mir immer schon einen Großteil des Postings ab Die import-Anweisung funktioniert ähnlich wie Pfade, so dass man, wenn man die einzelnen Pfade nicht im Classpath korrekt drin hat, eben aus dem Root-Verzeichnis des Projektes kompilieren muss. Zitieren
LadyPreis Geschrieben 15. April 2010 Autor Geschrieben 15. April 2010 sollte zumindest. muss ich aber nochmal nachschaun. auch wenn ich nicht denke, dass es daran liegt, da ja eclipse schon vor dem kompilieren meckert. aber ich such mal Zitieren
kingofbrain Geschrieben 16. April 2010 Geschrieben 16. April 2010 Nein, Eclipse meckert schon immer nach dem Kompilieren. Denn durch das Kompilieren tritt ja der Fehler erst auf. Eclipse baut aber nicht immer alles, sondern kompiliert einzelne Teile nach. Edit: @flashpixx das würde bedeuten, wir haben ähnliche Lösungsstrategien -> Gutes Zeichen. Peter Zitieren
LadyPreis Geschrieben 16. April 2010 Autor Geschrieben 16. April 2010 Nein, Eclipse meckert schon immer nach dem Kompilieren. Denn durch das Kompilieren tritt ja der Fehler erst auf. Eclipse baut aber nicht immer alles, sondern kompiliert einzelne Teile nach. Wieder was gelernt... BTW: eben eclipse auf... alle fehler weg :upps Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.