Ich habe folgendes Problem, Ich arbeite an einem Java Mp3 Player, funktioniert auch alles perfekt .. nun möchte ich mp3 datein mit meinem player öffnen ( soll heisen doppelklick auf die Mp3 und das programm soll diese abspielen) das ganze verwirkliche ich mittels .bat datei...
meine .bat datei beinhaltet folgendes:
java musik %1
pause
wenn ich nun eine mp3 datei, die im selben
Ordner (F:\Mp3_Player_Version_2\JLayer1\classes) wie die Batch Datei und im selben ordner wie die Klasse musik liegt öffne funktioniert das tadellos, öffner ich aber eine
Mp3 datei in einem beliebigen anderen verzeichnis (z.b Desktop)kommt folgender Fehler in der Konsole:
C:\Users\stephan kraschansky\Desktop>java musik "C:\Users\stephan kraschansky\De
sktop\01 Ruby.mp3"
Exception in thread "main" java.lang.NoClassDefFoundError: musik
Caused by: java.lang.ClassNotFoundException: musik
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: musik. Program will exit.
C:\Users\stephan kraschansky\Desktop>pause
Drücken Sie eine beliebige Taste . . .
// Ende der Konsolen ausgabe !!!
Was muss in meinem Batch file stehen damit er egal wo die mp3 liegt immer meine java klasse musik ausführt (diese überhaupt findet)
Ich hoffe mein Problem verständlich geschildert zu haben und bitte euch mir zu helfen
liegt die Klasse musik möglicherweise in einem Package? Dann müsstest du "java package.musik" aufrufen. Besser als eine Bat, wäre es übrigens, ein Jar zu machen. Falls du Eclipse verwendest, kannst du das ganz einfach über Exportieren machen. Ausserdem solltest du Klassen jeweils gross schreiben, also Musik statt musik.
hmm nein kein package ganz normale ordner struktur , musik greift noch auf ein paar andere klassen in unterordnern zu .. .aber das hat ja nichts damit zu tun .. warum findet das system die klasse nicht ? muss ich in der der .bat datei absolute pfade verwenden ?
#
glg
das Problem ist, das die Batchdatei nicht in dem Verzeichnis ausgeführt wird in dem sich deine musik.class befindet sondern im Verzeichnis in dem die mp3 Datei liegt!
Versuch es in der bat Datei mit
F:\Mp3_Player_Version_2\JLayer1\classes>cd /F F:\Mp3_Player_Version_2\JLayer1\cl
asses\ java musik "F:\Mp3_Player_Version_2\JLayer1\classes\01 Ruby.mp3"
Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung
ist falsch.
F:\Mp3_Player_Version_2\JLayer1\classes>pause
Drücken Sie eine beliebige Taste . . .