Seltsames Verhalten beim starten eines Java-Programmes per Skript

07/04/2009 - 01:35 von Pedro Santos | Report spam
Hallo,
ich habe ein Skript, welches ein Java Programm startet und in dem folgendes steht:

#!/bin/bash

java -cp /lib/yaDing.jar de.fleckowarsky.yading.mainwindow.MainWindow

Wenn ich das Skript direkt im Verzeichnis auf der Konsole starte mit
./yaDing.sh, dann startet das Java Programm. Beim Klick auf das Skript passiert
aber nichts. Wenn ich das Skript aus einem anderem Verzeichnis starte, z.B ein
Verzeichnis höher, dann kracht es, was ist da losn und wie kann ich das korrigieren:

./yaDing/yaDing.sh
/opt/kde3/bin:/usr/lib/mpi/gcc/openmpi/bin:/home/loom/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/usr/lib/mit/bin:/usr/lib/mit/sbin:/usr/lib/qt3/bin:/usr/sbin:/usr/java/jdk1.6.0_06/bin:/usr/sbin:/usr/java/jdk1.6.0_06/bin
Exception in thread "main" java.lang.NoClassDefFoundError:
de/fleckowarsky/yading/mainwindow/MainWindow
Caused by: java.lang.ClassNotFoundException:
de.fleckowarsky.yading.mainwindow.MainWindow
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: de.fleckowarsky.yading.mainwindow.MainWindow.
Program will exit.

Schöne Grüße
Pedro
 

Lesen sie die antworten

#1 Mart Frauenlob
07/04/2009 - 10:00 | Warnen spam
Pedro Santos wrote:
Hallo,
ich habe ein Skript, welches ein Java Programm startet und in dem folgendes steht:

#!/bin/bash

java -cp /lib/yaDing.jar de.fleckowarsky.yading.mainwindow.MainWindow

Wenn ich das Skript direkt im Verzeichnis auf der Konsole starte mit
./yaDing.sh, dann startet das Java Programm. Beim Klick auf das Skript passiert
aber nichts. Wenn ich das Skript aus einem anderem Verzeichnis starte, z.B ein
Verzeichnis höher, dann kracht es, was ist da losn und wie kann ich das korrigieren:

./yaDing/yaDing.sh
/opt/kde3/bin:/usr/lib/mpi/gcc/openmpi/bin:/home/loom/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/usr/lib/mit/bin:/usr/lib/mit/sbin:/usr/lib/qt3/bin:/usr/sbin:/usr/java/jdk1.6.0_06/bin:/usr/sbin:/usr/java/jdk1.6.0_06/bin
Exception in thread "main" java.lang.NoClassDefFoundError:
de/fleckowarsky/yading/mainwindow/MainWindow
Caused by: java.lang.ClassNotFoundException:
de.fleckowarsky.yading.mainwindow.MainWindow
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)


Could not find the main class: de.fleckowarsky.yading.mainwindow.MainWindow.
Program will exit.




Hallo,

in deinem Script die PATH variable setzen, dass die java Klassen
gefunden werden (also den ordner in dem
'de.fleckowarsky.yading.mainwindow.MainWindow' zu finden ist.

export PATH="/yaDing:${PATH}

zum Beispiel... wobei export nur nötig ist, wenn du noch weitere sub
Scripte startest, die den gleichen Pfad benötigen.

MfG

Mart

Ähnliche fragen