2012-08-26 3 views
9

Beim Versuch, ein Projekt als .jar-Datei zu exportieren, beschwert sich Eclipse, dass einige Dateien nicht im Klassenpfad gefunden werden können:Beim Exportieren eines Java-Projekts als .jar-Datei werden bestimmte .java-Dateien nicht gefunden.

Class-Dateien auf classpath nicht gefunden oder nicht zugänglich für: 'proj/src/main/java/Analyse/Spezifikation/VerifyVariableIsDefinedInsideTargetTerm.java'

Nun ist der interessante Teil ist, dass diese Dateien haven‘ t existiert tatsächlich seit Ewigkeiten auf der Platte. Ich denke, ich muss Eclipse zwingen, seine Datenbank zu aktualisieren. Ich habe versucht, F5 und volle Builds zu machen, aber es scheint nichts zu bringen. Ich habe auch das auf this blog post beschriebene Verfahren versucht, aber das Problem bleibt.

+2

Diese Frage sollte nicht geschlossen werden. Es ist offensichtlich nicht lokal zu einer Zeit oder einem Ort. Fehler beim Erstellen eines Jar mit Eclipse zu bekommen, ist genau der richtige Bereich für eine Frage zu Stackoverflow. Ich habe nicht nur genau diese Fehlermeldung erhalten. Die erste Antwort war die exakte Lösung. – willkil

+1

Ich habe gegoogelt und es scheint, dass es viele andere Leute mit diesem Problem gibt. Ich konnte es an meiner Umgebung reparieren und ich wollte meine Lösung mit dir teilen, aber die Frage ist geschlossen! In meinem Fall wurden meine .class-Dateien nicht erstellt und daher habe ich den obigen Fehler erhalten, als ich versuchte, die JAR-Datei zu erstellen. Also, hier ist, was ich getan habe In Eclipse/STS, deaktivieren Sie das Kontrollkästchen Automatisch erstellen und klicken Sie dann auf Project Clean Build (wählen Sie Ihr spezifisches Projekt). –

+1

@ user717630: Wählen Sie wieder zu öffnen, wenn Sie können. –

Antwort

12

Err .. ich eigentlich vor auf dem Grund für das Problem ein paar Momente ausgelöst ..

Alle Dateien, die Probleme gab es tatsächlich für das Projekt wurden erhöhen, wurden aber auf Kommentar (und damit ich didn Ich sehe sie nicht im Paket-Explorer, das ist die Ansicht, die ich normalerweise benutze.

Nachdem sie gelöscht wurden, lief alles gut. Ich verstehe immer noch nicht, warum sie Fehler in dem JAR-Erstellungsprozess erhöhen, obwohl ..

EDIT: Hier ein Beispiel für eine kommentierte out-Klasse ist:

package a.b.c 

//import java.io.Closeable; 

//public class Example implements Closeable { 
// public void close() throws IOException { 
//  System.out.println("closed"); 
// } 
//} 

Weil die ganze Klasse ist Auskommentiert, es wird keine Example.class erstellt. Wenn die Klasse jedoch wie folgt auskommentiert ist:

package a.b.c 

//import java.io.Closeable; 

public class Example 
// implements Closeable 
{ 
// public void close() throws IOException { 
//  System.out.println("closed"); 
// } 
} 

dann wird Example.class erstellt, obwohl leer.

Dies kann ein Fehler in Eclipse sein. Wenn Sie das Ameisen-Build-Skript aus Eclipse exportieren und dieses verwenden, wird das JAR-Objekt problemlos erstellt.

+0

Sehr seltsames Problem, aber Ihre Antwort war genau richtig; Ich hatte ein Stück meiner Bewerbung als [meist] eigenständiges Modul herausgezogen, aber die ursprüngliche (n) Klasse (n) an Ort und Stelle belassen, aber völlig auskommentiert. Es gab keine Hinweise auf die ursprüngliche Klasse, aber ich war noch nicht bereit, sie zu entfernen. – cabbagery

0

Wahrscheinlich ist das wirkliche Problem, dass nicht alle Ihre Klassendateien an der gleichen Stelle sind ... mein Vorschlag ist, alle Ihre .java-Dateien in den gleichen Ordner zu verschieben, neu kompilieren, um die .class-Dateien zu machen .class-Dateien befinden sich dann im selben Ordner ... dann sehen Sie sich diese Webseite an: http://www.centerkey.com/mac/java/, wenn Sie Hilfe beim Erstellen des .jar benötigen.

Die Website nimmt auch an, dass Sie auf einem Mac sind ... aber Sie sollten immer noch eine Eingabeaufforderung in Windows verwenden können, um es zu arbeiten.

2

Dieses Problem trat auch bei mir auf. Das Problem mit mir war jedoch, dass ich JRE-Konfigurationsprobleme in Eclipse hatte.

Verwandte Themen