Zum Inhalt springen

Eclipse findet Klassen nicht


LadyPreis

Empfohlene Beiträge

Moin zusammen ;)

Ich stehe seit eben vor dem Problem, dass Eclipse mir einige Fehler in meinem Quelltext anzeigt.

  • xxx cannot be resolved to a type
  • The method getLayout() is undefined for the type yyy
  • The import foo.bar.zzz cannot be resolved
  • The 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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

ok... ich versuchs mal:

Paket-Struktur:

  • xxx.xxx.xxx.mainpaket
  • xxx.xxx.xxx.mainpaket.sub1
  • xxx.xxx.xxx.mainpaket.sub2
  • xxx.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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 :P

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...