2010-02-16 14 views
6

Ich bekomme diese Ausnahme, nachdem ich die Gläser (pdfbox, bouncycastle etc) aus meinem Projekt entfernt und sie in einen anderen Ordner verschoben habe, aber ich habe sie in den Build-Pfad ...Ich bekomme diese Ausnahme: Ungelöste Kompilierungsprobleme

in der ersten Zeile Eclipse zeigt diesen Fehler (der Konstruktor PDFParser (InputStream) bezieht sich auf fehlende Typ InputStream) -altought FileInputStream ist von InputStream erweitert und ich weiß nicht warum?

FileInputStream in = new FileInputStream(path); 
PDFParser parser = new PDFParser(in); 
PDFTextStripper textStripper = new PDFTextStripper(); 
parser.parse(); 
String text = textStripper.getText(new PDDocument(parser.getDocument())); 

irgendwelche ideen? **

Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problems: 
The constructor PDFParser(InputStream) refers to the missing type InputStream 
The constructor PDFTextStripper() refers to the missing type IOException 
The method parse() from the type PDFParser refers to the missing type IOException 
The method getText(PDDocument) from the type PDFTextStripper refers to the missing type IOException 
The method getDocument() from the type PDFParser refers to the missing type IOException 
The method getDocument() from the type PDFParser refers to the missing type IOException 
The method close() from the type COSDocument refers to the missing type IOException 

**

+0

Beachten Sie, dass Eclipse einen "inkrementellen Compiler" hat, so dass einige (die meisten) Ihres Codes bereits kompiliert werden können, während andere nicht. –

+0

Es ist eine sehr gute Idee, versuchen, das Loch-Projekt von Grund auf neu zu kompilieren. Danke dir – Stephan

Antwort

9

dass nur bedeutet, dass Ihr Projekt nicht kompiliert hat, aber Sie haben noch versucht, um es auszuführen. Mit Eclipse können Sie das tun, nur wenn Sie versuchen, etwas aufzurufen, das nicht korrekt kompiliert wurde.

Sehen Sie sich die Kompilierungsfehler in Ihrem Projekt an, um das eigentliche Problem zu finden. Es scheint seltsam, dass es InputStream nicht finden kann: Haben Sie eine Reihe von Importanweisungen gleichzeitig aus Ihrem Code entfernt?

+0

Vielen Dank für deine Antwort.Nein, ich habe gerade die Gläser in einen anderen Ordner verschoben und die fügen sie in den Build-Pfad ... es zeigt keine Fehler im Importbereich – Stephan

+0

@Stephan: Nun, ignorieren Sie den Importbereich aber Schau dir die Fehleransicht an - ich bin mir ziemlich sicher, dass du dort etwas sehen wirst. –

+0

ja ist es und ich habe es gepostet: in der Zeile PDFParser Parser = neue PDFParser (in); es zeigt mir diesen Fehler "der Konstruktor PDFParser (InputStream) verweist auf fehlenden Typ InputStream" Dies ist der erste Fehler – Stephan

1

Sie können eine Aktualisierung des Projekts zusammen mit clean innerhalb von Eclipse versuchen (Projekt> Reinigen> Alle).

Greetz, ghad

+0

Vielen Dank für Ihren Vorschlag, aber es hat nicht funktioniert – Stephan

+0

@Stephan - haben Sie beide Vorschläge versucht? –

+0

ja sauber alles + aktualisieren – Stephan

1

A "missing-Typ" Fehler bedeutet, die entsprechende Art nicht in der Build-Pfad gefunden wird. InputStream befindet sich im JRE-Klassenpfadcontainer. Haben Sie den JRE-Klassenpfadcontainer entfernt oder verweist er auf einen falschen Speicherort?

Die second hit wenn für

"missing Typ" Input

auf Google-Suche auch hilfreich sein könnten.

+0

Ich dachte daran und ich überprüft und es auf dem Build-Pfad (JRE-Systembibliothek JavaSE-1.6) – Stephan

+0

Haben Sie versucht, es zu lesen, wie der Blog, den ich verlinkt, schlägt vor? – meriton

+0

Ich habe die jre-Bibliothek ohne Erfolg neu geladen ... trotzdem danke für den Link – Stephan

0

Eclipse versucht Ihnen mitzuteilen, dass der referenzierte Typ in dem von Ihnen verwendeten Klassentyp "fehlt". Stellen Sie sich vor, Sie haben Klasse A, B und C, wobei B C als Feldvariable bezeichnet; B. sagen wir, indem wir B.setC() in Klasse A aufrufen, wird der Fehler "verweist auf fehlenden Typ" angezeigt, wenn C von B nicht erreicht werden kann. Überprüfen Sie also B, ob (1) B kompiliert und importiert wurde C befindet sich im Compile/Build-Pfad.

Verwandte Themen