Hallo zusammen!
Ich schildere mal was mich momentan etwas verwirrt:
Ich habe im Netz eine Java-Anwendung gefunden, die ich gerne regelmäßig nutzen würde. Also das Ding runtergeladen. Zum Test habe ich aus dem Dateimanager heraus das Programm gestartet, und es funktioniert ohne Probleme. Also habe ich einen Menueintrag erstellt um es einfach ausführen zu können. Starte ich das Program allerdings nun damit, tut sich nichts.
Somit bin ich an die Fehlersuche gegangen:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
|
% /usr/local/bin/Mainspring/run
Exception in thread "main" java.lang.NoClassDefFoundError: Mainspring
Caused by: java.lang.ClassNotFoundException: Mainspring
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: Mainspring. Program will exit.
|
Dies deutet für mich auf eine veraltete Java-Version hin, mit der ich das Program ausführen will. Selbiges sagte mir auch die FAQ zum Program. Also ging es weiter:
|
Quellcode
|
1
2
|
% echo $PATH
/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.1.2:/opt/blackdown-jdk-1.4.2.03/bin:/opt/blackdown-jdk-1.4.2.03/jre/bin:/usr/kde/3.5/bin:/usr/qt/3/bin:/usr/kde/3.4/bin:/usr/games/bin:/usr/lib/portage/bin:/opt/local/bin
|
Interessanterweise hatte ich aber vor einigen Tagen die alte blackdown-VM deinstalliert, weil ich sie nicht mehr brauchte. Momentan installiert sind:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
eix -I jdk
[U] dev-java/sun-jdk
Available versions:
(1.4) 1.4.2.19!f!s
(1.5) 1.5.0.20!s
(1.6) 1.6.0.15!s ~1.6.0.16!s
{X alsa derby doc examples jce nsplugin odbc}
Installed versions: 1.4.2.19(1.4)!f!s(23:01:06 06.07.2009)(X alsa doc -examples -jce -nsplugin -odbc)
1.5.0.18(1.5)!s(00:52:11 08.04.2009)(X alsa doc -examples -jce -nsplugin -odbc)
1.6.0.15(1.6)!s(13:21:06 24.09.2009)(X alsa doc nsplugin -derby -examples -jce -odbc)
Homepage: http://java.sun.com/javase/6/
Description: Sun's Java SE Development Kit
[I] virtual/jdk
Available versions:
(1.4) 1.4.1 1.4.2
(1.5) 1.5.0
(1.6) 1.6.0
Installed versions: 1.5.0(1.5)(01:49:52 16.10.2006) 1.6.0(1.6)(20:50:24 13.07.2009)
Homepage: http://java.sun.com/
Description: Virtual for JDK
Found 2 matches.
|
Und genutzt wird:
|
Quellcode
|
1
2
3
4
5
6
|
% eselect java-vm list
Available Java Virtual Machines:
[1] blackdown-jre-1.4.2
[2] sun-jdk-1.4
[3] sun-jdk-1.5
[4] sun-jdk-1.6 system-vm user-vm
|
Gleiches sagt mir auch das grafische Java-Controll-Panel und "java-config".
Der Eintrag in $PATH stammt aus "/etc/profile.env" bzw. "/etc/env.d/20java" und "/etc/env.d/20java-config":
|
Quellcode
|
1
2
3
4
5
6
7
8
|
% cat /etc/profile.env | grep jdk
export JAVAC='/opt/blackdown-jdk-1.4.2.03/bin/javac'
export JAVA_HOME='/opt/blackdown-jdk-1.4.2.03'
export JDK_HOME='/opt/blackdown-jdk-1.4.2.03'
export MANPATH='/usr/local/share/man:/usr/share/man:/usr/share/binutils-data/i686-pc-linux-gnu/2.18/man:/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/man:/opt/blackdown-jdk-1.4.2.03/man:/etc/java-config/system-vm/man/:/usr/lib/php5/man/:/usr/kde/3.5/share/man:/usr/qt/3/doc/man'
export PATH='/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.1.2:/opt/blackdown-jdk-1.4.2.03/bin:/opt/blackdown-jdk-1.4.2.03/jre/bin:/usr/kde/3.5/bin:/usr/qt/3/bin:/usr/kde/3.4/bin:/usr/games/bin'
export ROOTPATH='/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.1.2:/opt/blackdown-jdk-1.4.2.03/bin:/opt/blackdown-jdk-1.4.2.03/jre/bin:/usr/kde/3.5/sbin:/usr/kde/3.5/bin:/usr/qt/3/bin:/usr/kde/3.4/sbin:/usr/kde/3.4/bin'
export VMHANDLE='blackdown-jdk-1.4.2'
|
Ein "env-update" brachte keine Besserung und auch eine remerge von "sun-jdk:1.6" hatte keine Wirkung.
Nun meine Frage: Woher kommen die mittlerweile falschen Einträge zur blackdown-VM (da ja inzwischen deinstalliert) und wie kann ich diese korrigieren?
Ich bin für jeden Hinweis dankbar.
Grüße, H2
EDIT: Habe gerade noch festgestellt, dass neben dem unlängst deinstallierten blackdown-jdk auch blackdown-jre installiert war. Die Deinstallation diese jre hat aber keine Änderung gebracht, außer einen Eintrag weniger bei der Auswahl der java-vm mit eselect:
|
Quellcode
|
1
2
3
4
5
|
% eselect java-vm list
Available Java Virtual Machines:
[1] sun-jdk-1.4
[2] sun-jdk-1.5
[3] sun-jdk-1.6 system-vm user-vm
|
Die Umgebungsvariablen sind gleich geblieben.