Compiler-Fehler The constructor MP3File(File) refers to the missing type NoMPEGFramesException

Hallo zusammen,

ich verwende Eclipse Mars.1 Release (4.5.1) auf openSUSE 13.2 und habe in mein Projekt eine externe Libary (https://sourceforge.net/projects/jd3lib/) eingebunden.

Dazu habe ich das Zip file unter File --> Properties --> Java Build Path --> Add External JARs eingebunden. Mit einer anderen externen Libary (ein MySQL Connector) war ich damit schon mal erfolgreich.

Nun habe ich folgenden Code:
Code:
package sebastian;

import java.io.File;
import java.io.IOException;

import mp3reader.helliker.id3.*;



public class Starter {
   
   public static void main(String[] args) throws IOException
   {         
       File file = new File ("/home/sebastian/05 - Knockin' On Heaven's Door.mp3" );
             
       mp3 = new MP3File(file);
     
   }   
}
}

Der Compiler gibt mir dazu folgende Fehlermeldung:
Code:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
    mp3 cannot be resolved to a variable
    The type helliker.id3.CorruptHeaderException cannot be resolved. It is indirectly referenced from required .class files
    The type helliker.id3.ID3v2FormatException cannot be resolved. It is indirectly referenced from required .class files
    The type helliker.id3.NoMPEGFramesException cannot be resolved. It is indirectly referenced from required .class files
    The constructor MP3File(File) refers to the missing type NoMPEGFramesException

    at sebastian.Starter.main(Starter.java:16)

Nun habe ich mal die Funktion Project --> Clean angewendet, das bringt aber nichts. Beim Recherchieren habe ich Anleitungen gefunden, die einen weitaus komplexeren Weg beschreiben wie man Externe Libs einbinden kann (zB http://stackoverflow.com/questions/...rnal-jars-lib-jar-to-an-intellij-idea-project)

Was ist hier falsch? Warum kann die Klasse NoMPEGFramesException, die ich unter Referenced Libaries in dem entsprechenden Package sehe, nicht referenziert werden?

Danke und viele Grüße!
 

JStein52

Top Contributor
Wie hast du das denn überhaupt kompilieren können ? Probier es mal so:

Code:
   public static void main(String[] args) throws IOException
   {       
       File file = new File ("/home/sebastian/05 - Knockin' On Heaven's Door.mp3" );
            
       MP3File mp3 = new MP3File(file);
    
   }
 
Hi JStein52,

die explizite Deklaration der Klasse scheint bei der Erzeugung des Objekts keine Rolle zu spielen.

Sowohl bei

Java:
 public static void main(String[] args) throws IOException
   {      
       File file = new File ("/home/sebastian/05 - Knockin' On Heaven's Door.mp3" );
           
       MP3File mp3 = new MP3File(file);
   
   }

und

Java:
 public static void main(String[] args) throws IOException
   {      
       File file = new File ("/home/sebastian/05 - Knockin' On Heaven's Door.mp3" );
           
      mp3 = new MP3File(file);
   
   }

Auf dieser Seite gibt es Codebeispiele, wo es genau so gemacht wird: http://www.wou.edu/~rrogers/CS260lab/Project/javaPlayer/helliker/id3/Playlist.java

Hast Du vielleicht noch eine andere Idee?
 

JStein52

Top Contributor
Nein. Bei dem Beispiel wird es nicht so gemacht. Da steht nämlich oben drüber das hier:

Code:
MP3File mp3 = null;

Und ausserdem werden dort mit try/catch sämtliche Exceptions abgefangen. Das machst du auch nicht !
Du musst es dann schon genauso machen wie dort.
 
Stimmt. Du hast recht. Um jetzt den Code nicht falsch abzuschreiben, habe ich ein Codebeispiel mal kopiert:

Java:
package sebastian;

import java.io.File;
import java.io.IOException;
import mp3reader.helliker.id3.*;

public class Starter {
   
    public static void main(String[] args) throws IOException {   
               
        File f = new File("/home/sebastian");
           
        loadFromDirectory(f, false);       
    }
   
    public static void loadFromDirectory( File dir, boolean recurse )
                throws IOException {

        if( dir.isDirectory() ) {
                File[] files = dir.listFiles( new MP3FileFilter(true) );
                MP3File mp3 = null;
   
                for( int i = 0; i < files.length; i++ ) {
                if( files[i].isFile() ) {
                    try {
                        mp3 = new MP3File( files[i] );
                        this.add( mp3 );
                    }
                    catch( Exception e ) {
                    // Do nothing.  Bad mp3, don't add.
                    }
                }
                else if( recurse ) {
                    loadFromDirectory( files[i], recurse );
                }
            }
        }
        else {
            throw new IOException( "Error loading playlist from a directory: "
                       + dir.getAbsolutePath() + " is not a " +
                       "directory" );
        }
    }
}

Nun bekomme ich beim Kompilieren folgende Fehler:

Code:
The project was not built since its build path is incomplete. Cannot find the class file for helliker.id3.CorruptHeaderException. Fix the build path then try building this project  
The type helliker.id3.CorruptHeaderException cannot be resolved. It is indirectly referenced from required .class files    Starter.java    /sebastian/src/sebastian    line 26    Java Problem

Wenn man "The project was not built since its build path is incomplete" recherchiert, findet man immer wieder ähnliche Anleitungen wie zB diese hier: http://hemant-vikram.blogspot.de/2012/07/eclipse-build-error-project-was-not_12.html. Leider war ich damit auch nicht erfolgreich.

Wie kann ich denn verifizieren, ob die Lib auch wirklich korrekt eingebunden ist? Anbei ein paar Screenshots, die vielleicht hilfreich sind.

Danke und schönen Gruß!
 

Anhänge

  • Bildschirmfoto1.png
    Bildschirmfoto1.png
    57,6 KB · Aufrufe: 27
  • Bildschirmfoto2.png
    Bildschirmfoto2.png
    61,6 KB · Aufrufe: 24
  • Bildschirmfoto3.png
    Bildschirmfoto3.png
    60,2 KB · Aufrufe: 33

JStein52

Top Contributor
import mp3reader.helliker.id3.*;
Wird diese Zeile von Eclipse rot markiert ? Falls nicht müsste die Lib korrekt importiert sein. Aber du kannst ja mal noch eine Zeile dahinter schreiben wo du diese fehlende Exception explizit importierst (statt mit .*)

Edit: ich vermute die Zeile this.add(mp3); wird er auch als fehlerhaft markieren In deinem Beispiel wurde die Klasse von LinkedList abgeleitet. Das hast du nicht, deshalb kennt er die Methode add(...) nicht. (Vermute ich jedenfalls)
 
Hallo JStein52,

nein, die genannte Zeile wird so akzeptiert. Ich habe es aber aufgegeben mit dieser Libary zu arbeiten. Ich möchte im Grunde nur ID-Tag Informationen aus MP3 Dateien auslesen und dies ist mir nun mit Methoden aus der Klasse FileInputStream gelungen. Daher ist aus meiner Sicht die Lösung des hier dargestellten Problems nun obsolet. Ich bedanke mich recht herzlich für deine Beteiligung!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Main Methode scheint Constructor aufzurufen, ohne dass es so gecoded ist Java Basics - Anfänger-Themen 2
Fiedelbambu Exception in Application constructor Java Basics - Anfänger-Themen 3
_user_q Wie eine Methode/Funktion aus einer Klasse mit Constructor aufrufen? Java Basics - Anfänger-Themen 20
M "Class<T> clazz" im Constructor - auch für int möglich? Java Basics - Anfänger-Themen 7
U Interface | constructor injection Java Basics - Anfänger-Themen 5
R Compiler-Fehler JTable mit XML befüllen | The constructor JTable(Object[], String[]) is undefined Java Basics - Anfänger-Themen 10
S Copy - Constructor vs clone() Java Basics - Anfänger-Themen 20
F The constructor Vehikel(String, int) is undefined warum?? Java Basics - Anfänger-Themen 4
L constructor cannot be applied... Java Basics - Anfänger-Themen 22
L Constructor is undefined Java Basics - Anfänger-Themen 4
S CSVReader funktioniert nicht ---- The Constructor CSVReader(String) is undefined Java Basics - Anfänger-Themen 4
M Vererbung - Cannot Find Symbol constructor... Java Basics - Anfänger-Themen 11
S The constructor File(URL) is undefined Java Basics - Anfänger-Themen 10
N Klassen constructor Rückgabewert Java Basics - Anfänger-Themen 10
S Constructor und Main Methode Java Basics - Anfänger-Themen 3
S cannot find symbol, symbol: constructor Java Basics - Anfänger-Themen 2
B Copy-Constructor Java Basics - Anfänger-Themen 6
L Erste Schritte Super Constructor mit Array - Liste? Java Basics - Anfänger-Themen 15
T Cannot refer to an instance field xxx while explicitly invoking a constructor Java Basics - Anfänger-Themen 14
M Was macht bzw. was bringt ein constructor? Java Basics - Anfänger-Themen 12
S Problem beim Kompilieren - cannot find symbol - constructor() Java Basics - Anfänger-Themen 12
W Default Constructor Java Basics - Anfänger-Themen 4
H OOP java.sql.Date does not have a no-arg default constructor Java Basics - Anfänger-Themen 2
S Array of objects und ständige Constructor-Aufrufe Java Basics - Anfänger-Themen 4
D Unhandled Exception type IOException in Constructor Java Basics - Anfänger-Themen 1
D The constructor Bestellung(Bestellung.Produkt, Bestellung.Kunde) is undefined Java Basics - Anfänger-Themen 15
B Im Constructor anderen Constructor aufrufen Java Basics - Anfänger-Themen 13
U Implementierung Constructor Java Basics - Anfänger-Themen 7
J Hilfe mit Constructor Java Basics - Anfänger-Themen 3
G The constructor is ambiguous Java Basics - Anfänger-Themen 1
S BufferedWriter undefined constructor Java Basics - Anfänger-Themen 5
I call to super must be first statement in constructor Java Basics - Anfänger-Themen 3
C Ein letzter Fehler mit dem Constructor ! Java Basics - Anfänger-Themen 17
G Constructor & Graphics g Java Basics - Anfänger-Themen 5
N Constructor.isSynthetic() Java Basics - Anfänger-Themen 4
V Problem mit Symbol constructor Java Basics - Anfänger-Themen 5
G constructor auflösen? Java Basics - Anfänger-Themen 10
G vdheide library: List<File> to MP3File[] Java Basics - Anfänger-Themen 4
Timo12345 JNLP File mit Java öffnen Java Basics - Anfänger-Themen 2
I Bild richtig speichern / Hochkant im File Explorer, nach Upload vertikal Java Basics - Anfänger-Themen 9
R File.pathSeparator und File.separator Java Basics - Anfänger-Themen 46
KeinJavaFreak Erste Schritte Java "Executable Jar File" nicht vorhanden Java Basics - Anfänger-Themen 1
izoards Prunsrv - Windows Service - .bat file starten Java Basics - Anfänger-Themen 84
I File Uploader... Statusanzeige, Berechnung des Status etc. Java Basics - Anfänger-Themen 0
I H2 Datenbank starten / Daten in File speichern Java Basics - Anfänger-Themen 25
G jar file lässt sich nicht öffnen Java Basics - Anfänger-Themen 1
N Textdatei aus Resourcen-Ordner eines Projekts/ jar-file lesen Java Basics - Anfänger-Themen 4
J File length als Prüfwert für Download Java Basics - Anfänger-Themen 5
berserkerdq2 Überprüfen ob eine Schreibberechtigung auf ein file exisitert bzw. ob man dieses file löschen kann, wie? Java Basics - Anfänger-Themen 9
berserkerdq2 IOstreams, was unterscheidet file von z. B. BufferedWriter? Java Basics - Anfänger-Themen 11
J Datentypen String in File konvertieren funktioniert nicht Java Basics - Anfänger-Themen 4
A java jar-File Java Basics - Anfänger-Themen 1
E Executable jar file fehler Java Basics - Anfänger-Themen 9
I Upload File zu einem Webservice Java Basics - Anfänger-Themen 17
I ZIP File erstellen Java Basics - Anfänger-Themen 10
LeoDerKek Textdatei in JAR-File Java Basics - Anfänger-Themen 4
Tom/S File Java Basics - Anfänger-Themen 10
AleXusher Mehrdimensionales Array aus txt.file auslesen Java Basics - Anfänger-Themen 4
A Checkstyle - File contains tab characters Java Basics - Anfänger-Themen 2
H Java file nicht gefunden Java Basics - Anfänger-Themen 5
C File speichern Java Basics - Anfänger-Themen 5
C Runnable Jar-File erzeugen Java Basics - Anfänger-Themen 14
C Pfad zu Properties-File bei ResourceBundle Java Basics - Anfänger-Themen 7
F GSON file mit einer List erstellen Java Basics - Anfänger-Themen 2
rafi072001 Lesen aus einem Excel File Java Basics - Anfänger-Themen 10
C Bild in executable JAR File mitgeben Java Basics - Anfänger-Themen 5
K File (png) in Image laden Java Basics - Anfänger-Themen 3
B Inputstream in file schreiben? Java Basics - Anfänger-Themen 23
S Input/Output Reader/Writer finden file nicht Java Basics - Anfänger-Themen 3
T Buffered Stream leert Txt File Java Basics - Anfänger-Themen 3
A 2d Arrays aus txt.file einlesen Java Basics - Anfänger-Themen 16
Dimax In Java File (nicht in Java Projekt) mysql Driver importieren Java Basics - Anfänger-Themen 3
K File wird in der .Jar nicht gefunden Java Basics - Anfänger-Themen 3
E TXT FILE EINLESEN Java Basics - Anfänger-Themen 4
Trèfle EXCEL-File Laufwerkunabhängig einbinden. Java Basics - Anfänger-Themen 1
B HTML File einlesen inkl. Bilder? Java Basics - Anfänger-Themen 2
B Hilfe bei InputStream To File Java Basics - Anfänger-Themen 22
topi relativer Pfad in einem Runnable JAR file Java Basics - Anfänger-Themen 12
A jar File kleiner bekommen Java Basics - Anfänger-Themen 3
B File öffnen in src/main/webapp Java Basics - Anfänger-Themen 4
K File-Name Vergleich Java Basics - Anfänger-Themen 2
krgewb Runnable JAR File Export Java Basics - Anfänger-Themen 11
S Maxium aus einer File finden Java Basics - Anfänger-Themen 12
dapzoo Class File Version zu niedrig? Ausführen über Eingabeaufforderung nicht möglich Java Basics - Anfänger-Themen 14
D Input/Output File exists canRead canWrite Java Basics - Anfänger-Themen 11
B cal4j - Error at line 1:Unexpected end of file Java Basics - Anfänger-Themen 0
P jar file lässt sich nicht ausführen Java Basics - Anfänger-Themen 4
E Best Practice Jar-file mit zwei Klassen und externer Bibliothek über Konsole erzeugen Java Basics - Anfänger-Themen 13
M Erste Schritte CSV-File einlesen und Daten verarbeiten Java Basics - Anfänger-Themen 5
F File von Windowsfreigabe laden Java Basics - Anfänger-Themen 1
S java.nio.file.FileSystemException bei Dateizugriff vermeiden Java Basics - Anfänger-Themen 7
Vince42 NIO File Tree in XML umwandeln Java Basics - Anfänger-Themen 10
J Zweidimensionales Array in CSV File exportieren Java Basics - Anfänger-Themen 3
E War-File Problem mit Eclipse Java Basics - Anfänger-Themen 3
B Excel File einlesen und Überschrift prüfen Java Basics - Anfänger-Themen 8
M Email versenden Outlook, attached File, ohne Anmeldung Java Basics - Anfänger-Themen 4
M Input/Output Word File Kopieren Java Basics - Anfänger-Themen 12
K Runable Jar File erstellen Java Basics - Anfänger-Themen 17
T Java Executable jar file funktioniert nicht Java Basics - Anfänger-Themen 4
sourcecorn Werte aus einem File lesen Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben