Fehler bei Klassenname

  • Themenstarter Themenstarter Christoph222
  • Beginndatum Beginndatum
C

Christoph222

Gast
Hallo, ich bin so langsam am verzweifeln.

Ich habe eine Klasse erstellt um eine Datenbank zu testen (klasse war vorgeschrieben). Jetzt habe ich eine Grafikoberfläche erstellt und will eine weitere Klasse anlegen wo die eigentlichen Funktionen reingeschrieben werden.

Das ganze ist in eclipse geschehen. Die Fehlermeldung die ich bekomme:

Exception in thread "main" edu.smu.tspell.wordnet.impl.file.RetrievalException: Error opening index file: .\index.sense (Das System kann die angegebene Datei nicht finden)
at edu.smu.tspell.wordnet.impl.file.SenseIndexReader.getInstance(SenseIndexReader.java:88)
at edu.smu.tspell.wordnet.impl.file.WordFormLookup.loadSynsets(WordFormLookup.java:273)

usw.


nun mein Problem ist, dass die Klasse den selben Inhalt hat wie die Testklasse (die funktioniert) und beide Klassen im gleichen Package liegen.
(der Quelltext unterscheidet sich nur in
Java:
public class TestJAWS {
bzw.
Java:
public class Quellcode {
compilieren klappt einwandfrei und der Inhalt ist wie gesagt gecopypastet... (ich kanns bei Bedarf noch hochladen)
 
Zuletzt bearbeitet von einem Moderator:
kannst du beide Klassen in einem Programmablauf testen, mit main-Methode
Java:
main() {
  try/ catch  KlasseA.aufruf();   // erfolgreich
  try/ catch  Klasseb.aufruf();   // Exception
}
?

----

ist das Funktionieren von exakt einem Klassennamen abhängig?
geht TestJAWS ?
geht QestJAWS ?
geht QustJAWS ?
geht QuetJAWS ?
geht QuelJAWS ?
geht QuellAWS ?
usw.?
wann gehts wann nicht, nur exakt bei TestJAWS, oder immer wenn 'Test' im Klassenname steht oder wann?
 
Java:
	public static void main(String[] args) {
		// TODO Auto-generated method stub
			  try{TestJAWS a = new TestJAWS();

			  } catch (Exception ex )  {  // erfolgreich
			  System.out.println("erste falsch");}
			  try{Quellcode b = new Quellcode();

			  } catch (Exception ex )  {  // erfolgreich
			  System.out.println("zweite falsch");}
			  
	}

es sind jeweils static main methoden damit ich sie die klassen so ausführen kann. So wirft er keine exception, wenn ich a.main(null) bzw. b.main(null) hinzufüge wirft er bei beiden eine exception.

der Name war vielleich etwas unpassend. Es liegt nicht umbedingt am Namen(abcd geht auch nicht) mir geht es darum, dass ich eine funktionierende Klasse nicht reproduzieren kann.
hier mal den quelltext, der bei der klasse funktioniert.
Java:
package Interface;
import edu.smu.tspell.wordnet.*;

/**
 * Displays word forms and definitions for synsets containing the word form
 * specified on the command line. To use this application, specify the word
 * form that you wish to view synsets for, as in the following example which
 * displays all synsets containing the word form "airplane":
 * <br>
 * java TestJAWS airplane
 */

public class TestJAWS {
	/**
	 * Main entry point. The command-line arguments are concatenated together
	 * (separated by spaces) and used as the word form to look up.
	 */


	public static void main(String[] args)
	{
/*		if (args.length > 0)
		{
			//  Concatenate the command-line arguments
			StringBuffer buffer = new StringBuffer();
			for (int i = 0; i < args.length; i++)
			{
				buffer.append((i > 0 ? " " : "") + args[i]);
			}
			String wordForm = buffer.toString();
*/			//  Get the synsets containing the wrod form
		String wordForm = "tree";
			WordNetDatabase database = WordNetDatabase.getFileInstance();
			Synset[] synsets = database.getSynsets(wordForm);
			//  Display the word forms and definitions for synsets retrieved
			if (synsets.length > 0)
			{
				System.out.println("The following synsets contain '" +
						wordForm + "' or a possible base form " +
						"of that text:");
				for (int i = 0; i < synsets.length; i++)
				{
					System.out.println("");
					String[] wordForms = synsets[i].getWordForms();
					for (int j = 0; j < wordForms.length; j++)
					{
						System.out.print((j > 0 ? ", " : "") +
								wordForms[j]);
					}
					System.out.println(": " + synsets[i].getDefinition());
				}
			}
			else
			{
				System.err.println("No synsets exist that contain " +
						"the word form '" + wordForm + "'");
			}
		}
/*		else
		{
			System.err.println("You must specify " +
					"a word form for which to retrieve synsets.");
		}
	}*/

}


Ich habe gerade nochmal QuellJAWS ausprobiert, aber das machte auch kein Unterschied.
 
Exception in thread "main" edu.smu.tspell.wordnet.impl.file.RetrievalException: Error opening index file: .\index.sense (Das System kann die angegebene Datei nicht finden)
at edu.smu.tspell.wordnet.impl.file.SenseIndexReader.getInstance(SenseIndexReader.java:88)
at edu.smu.tspell.wordnet.impl.file.WordFormLookup.loadSynsets(WordFormLookup.java:273)
Was soll das mit den Javaklassen zu tun haben? Das File index.sense wird nicht gefunden. Das muss du an das richtig Ort kopieren.
(Wenn das ohne Pfadangabe geöffnet wird, muss das, wenn ich mich richtig erinnere, in das oberste Directory deines Projektes)
 
Vielen Dank mit dem Tip mal ins Verzeichnis zu schauen. Da habe ich dann auch gleich meinen Denkfehler entdeckt: den classpath muss man für jede Klasse extra angeben. Naja jetzt funktioniert es.
 

Zurück
Oben