ClassNotFoundException

Myar

Mitglied
Hallöchen!

Irgendwie verstehe ich die Welt nicht mehr.
Eine Klasse die vorher funktioniert hat, wirft mir nun oben genannte Exception aus und das Programm bricht ab.

Das ganze läuft über eine GUI. Klicke ich start, wird die Klasse ProgCtrl aufgerufen, welche ein neues Objekt der Klasse DateiCtrl erzeugt und dann dieser Files übergibt.
Soweit kommt es erst gar nicht, da bereits beim Erzeugen des DateiCtrl Objekts die Exception geworfen wird.

Das hat mal funktioniert Oo

Also, so wird die Klasse ProgCtrl aufgerufen (aus der GUI Klasse):

Code:
private void starten(){
    	ProgCtrl start = new ProgCtrl();
        start.start();
    }

Die ProCtrl soll dann die DateiCtrl instanziieren:

Code:
import java.io.File;
import java.util.*;
import Programmieraufgabe3.DateiCtrl;

public class ProgCtrl {

    static File zuAnalysierendeDatei;
    static File dieVorlageDatei;
    static ArrayList<Parameter> analyseDatei;
    static ArrayList<Parameter> vorlage;

    public void start() {
    	try{
    	DateiCtrl einDateiCtrl = new DateiCtrl(); // hier wird abgebrochen, Exception
    	
    	Object[] a = einDateiCtrl.lesen(zuAnalysierendeDatei);
        // Parameter Arraylist auswählen
        analyseDatei = (ArrayList<Parameter>) a[1];
        
        Object[] b = einDateiCtrl.lesen(dieVorlageDatei);
        // Parameter Arraylist auswählen
        vorlage = (ArrayList<Parameter>) b[1];

    Pruefe tue = new Pruefe();
    tue.pruefen();
    	}catch(Exception e){System.out.print("Fehler");}
    }
}

Naja, und die Klasse DateiCtrl sieht dann so aus (Ausschnitt):

Code:
import java.io.*;
import java.util.*;

	public class DateiCtrl {

    String parameter = ""; // String für das Zwischenspeichern der Parameter
    String wert = ""; // String für das Zwischenspeichern der Werte
    String kommentar = "";
    static ArrayList<String> header = new ArrayList<String>();
    
    public Object[] lesen(File quelle) {
        FileReader datei; // Deklarieren des FileReaders
        BufferedReader leser; // Deklarieren des BufferedReaders

        String zeile = ""; // String zum Zeilen einlesen
        ArrayList<Parameter> dieParameter = new ArrayList<Parameter>();
        Object[] result = {header, dieParameter};

        try {
            datei = new FileReader(quelle); // DateiCtrl einlesen
            leser = new BufferedReader(datei); // Datei zwischenspeichern

//hier kommt noch mehr Code

Also der Debugger wirft mich an der oben gekennzeichneten Stelle raus und wirft die Exception.
Keine Idee woran das liegen könnte...

Gruß
Myar
 
Die DateiCtrl Klass ist nicht im 'Programmieraufgabe3' package. Also füg die package Deklaration zu Javadatei von DateiCtrl hinzu und lass des komplette Projekt mit clean und build durchlaufen.
 
Hallöchen!

Danke für die Antwort!

Hm, also die package Deklarationen sind nu alle eingebaut und alle Dateien im selben Ordner.
Leider besteht das Problem weiterhin :(

Gruß
Myar
 
Kannst du uns bitte ein Schema der Projekt-/Ordnerstruktur geben? Hast du auch wie vorher erwähnt die class Dateien gelöscht und neu compiliert?
 
Jap habe ich.

Okay, also das ganze liegt im Package "Programmieraufgabe3"

In der Klasse "UI" sitzt die main-Methode, welche die GUI startet.
Nachdem man Dateien ausgewählt hat, klickt man Start.
Es wird ein Objekt der Klasse "ProgCtrl" instanziert und die Methode "start" ausgeführt.
In dieser Methode wird ein Objekt der Klasse "DateiCtrl" instanziert.
Weiterhin werden die ausgewählten Dateien der Methode "lesen" in der Klasse "DateiCtrl" übergeben.
Dann wird ein Objekt der Klasse "Pruefe" instanziert, die tut was sie soll. Sie prüft.
Nach der Prüfung (in der noch paar mehr Schritte ablaufen) wird das Ergebnis der Methode "schreiben" in der Klasse "DateiCtrl" übergeben.
Diese schreibt und dann ist Ende.

wie gesagt, das Projekt heißt "Programmieraufgabe3" und enthält das Package "Programmieraufgabe3", in diesem sind alle Dateien/Klassen enthalten.
Screen hängt an.
So ungefähr? :/

Gruß
Myar
 

Anhänge

  • screeneclipse.JPG
    screeneclipse.JPG
    13,2 KB · Aufrufe: 24
Leider wirft eine ClassNotFoundException keinen StackTrace... :/

Alles was ich machen kann ist Screens anhängen, was der Debugger anzeigt..
 

Anhänge

  • screeneclipse2.JPG
    screeneclipse2.JPG
    25,2 KB · Aufrufe: 14
  • screeneclipse3.JPG
    screeneclipse3.JPG
    58,1 KB · Aufrufe: 17
Dann lass doch einfach mal das Programm normal durchlaufen, ohne debugger. Dann posten den Stacktrace.

MFG

Sascha
 
Zurück