Java no Swing?
Java no Swing?
Hallo Forum,
wollte eben ein kleines Java-Progrämmchen starten und erhalte folgende Fehler:
java.lang.NoClassDefFoundError: javax/swing/JFrame
at java.lang.ClassLoader.defineClass0 (ClassLoader.java)
at java.lang.ClassLoader.defineClass (ClassLoader.java:179)
at java.security.SecureClassLoader.defineClass (SecureClassLoader.java:33)
at kaffe.lang.AppClassLoader$JarSource.findClass (AppClassLoader.java:143)
at kaffe.lang.AppClassLoader.findClass (AppClassLoader.java:291)
at java.lang.ClassLoader.loadClass (ClassLoader.java:142)
at java.lang.ClassLoader.loadClass (ClassLoader.java:121)
at kaffe.jar.ExecJarName.main (ExecJarName.java:55)
at kaffe.jar.ExecJar.main (ExecJar.java:75)
Wird swing nicht mit der sdk installiert? Woher bekomm ich swing? Irgendwie hab' ich das Gefühl mir hat's die Installation zerschossen, schliesslich hatte ich schon Java-Gui Programme geöffnet!?
wollte eben ein kleines Java-Progrämmchen starten und erhalte folgende Fehler:
java.lang.NoClassDefFoundError: javax/swing/JFrame
at java.lang.ClassLoader.defineClass0 (ClassLoader.java)
at java.lang.ClassLoader.defineClass (ClassLoader.java:179)
at java.security.SecureClassLoader.defineClass (SecureClassLoader.java:33)
at kaffe.lang.AppClassLoader$JarSource.findClass (AppClassLoader.java:143)
at kaffe.lang.AppClassLoader.findClass (AppClassLoader.java:291)
at java.lang.ClassLoader.loadClass (ClassLoader.java:142)
at java.lang.ClassLoader.loadClass (ClassLoader.java:121)
at kaffe.jar.ExecJarName.main (ExecJarName.java:55)
at kaffe.jar.ExecJar.main (ExecJar.java:75)
Wird swing nicht mit der sdk installiert? Woher bekomm ich swing? Irgendwie hab' ich das Gefühl mir hat's die Installation zerschossen, schliesslich hatte ich schon Java-Gui Programme geöffnet!?
--
kallisti!
kallisti!
- pdreker
- Beiträge: 8298
- Registriert: 29.07.2002 21:53:30
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Nürnberg
Aus dem Bauch heraus würde ich auf Probleme mit dem Classpath tippen. Das ist etwas tricky richtig hin zu bekommen...
Patrick
Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de
Jabber: pdreker@debianforum.de
- suntsu
- Beiträge: 2947
- Registriert: 03.05.2002 10:45:12
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: schweiz
-
Kontaktdaten:
Das brauchst du auch nicht zu finden. Das ist in diversen jar Files verstreut.zorn hat geschrieben:Was mich irritiert ist dass ich auf meinem kompletten System nichts swingendes finde.
Locate Swing -- nada
Locate JFrame (als Beispiel) -- niente
Locate awt - 0
???
Du must nur wie pdreker gesagt hat den CLASSPATH setzten.
Obwohl mit einem neuen sdk(1.4) sollte der Pfad in dem java/c aufgerufen wird automatisch im CLASSPATH sein..
Ist die .java Datei in dem Verzeichniss in dem du sie aufrufst?
gruss
manuel
Ich hoffe ihr mein mein PATH Variable mit CLASSPATH. Die zeigt nach :/usr/java/j2re1.4.1_03/bin:/usr/java/j2sdk1.4.1_03/bin: woran man auch die Version erkennt.
Die Programme java und javac kann ich entsprechend aufrufen. Die Programme die ich starten will sind z.B. LimeWire oder freemind, und die haben beide ein Startscript in ihrem folder (z.B. ./freemind.sh).
Thx
Hier das ./freemind script:
#!/bin/sh
echo $@
java -jar ./lib/freemind.jar $@
Und das LimeWire script:
CLASSPATH=".:collections.jar:xerces.jar:jl011.jar:MessagesBundles.jar"
export CLASSPATH
J2SE_PREEMPTCLOSE=1
export J2SE_PREEMPTCLOSE
java -jar RunLime.jar
was folgenden Error auswirft:
java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke0 (Method.java)
at java.lang.reflect.Method.invoke (Method.java:255)
at RunLime.main (source file unknown:48)
at java.lang.reflect.Method.invoke0 (Method.java)
at java.lang.reflect.Method.invoke (Method.java:255)
at kaffe.jar.ExecJarName.main (ExecJarName.java:67)
at kaffe.jar.ExecJar.main (ExecJar.java:75)
Caused by: java.lang.NoClassDefFoundError: javax/swing/JWindow
at com.limegroup.gnutella.gui.Main.main (source file unknown:17)
at java.lang.reflect.Method.invoke0 (Method.java)
...6 more
java.lang.NoClassDefFoundError: javax/swing/JDialog
at RunLime.displayError (source file unknown:160)
at RunLime.showInternalError (source file unknown:139)
at RunLime.main (source file unknown:51)
at java.lang.reflect.Method.invoke0 (Method.java)
at java.lang.reflect.Method.invoke (Method.java:255)
at kaffe.jar.ExecJarName.main (ExecJarName.java:67)
at kaffe.jar.ExecJar.main (ExecJar.java:75)
THX
Die Programme java und javac kann ich entsprechend aufrufen. Die Programme die ich starten will sind z.B. LimeWire oder freemind, und die haben beide ein Startscript in ihrem folder (z.B. ./freemind.sh).
Thx
Hier das ./freemind script:
#!/bin/sh
echo $@
java -jar ./lib/freemind.jar $@
Und das LimeWire script:
CLASSPATH=".:collections.jar:xerces.jar:jl011.jar:MessagesBundles.jar"
export CLASSPATH
J2SE_PREEMPTCLOSE=1
export J2SE_PREEMPTCLOSE
java -jar RunLime.jar
was folgenden Error auswirft:
java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke0 (Method.java)
at java.lang.reflect.Method.invoke (Method.java:255)
at RunLime.main (source file unknown:48)
at java.lang.reflect.Method.invoke0 (Method.java)
at java.lang.reflect.Method.invoke (Method.java:255)
at kaffe.jar.ExecJarName.main (ExecJarName.java:67)
at kaffe.jar.ExecJar.main (ExecJar.java:75)
Caused by: java.lang.NoClassDefFoundError: javax/swing/JWindow
at com.limegroup.gnutella.gui.Main.main (source file unknown:17)
at java.lang.reflect.Method.invoke0 (Method.java)
...6 more
java.lang.NoClassDefFoundError: javax/swing/JDialog
at RunLime.displayError (source file unknown:160)
at RunLime.showInternalError (source file unknown:139)
at RunLime.main (source file unknown:51)
at java.lang.reflect.Method.invoke0 (Method.java)
at java.lang.reflect.Method.invoke (Method.java:255)
at kaffe.jar.ExecJarName.main (ExecJarName.java:67)
at kaffe.jar.ExecJar.main (ExecJar.java:75)
THX
--
kallisti!
kallisti!
- emge
- Beiträge: 1525
- Registriert: 20.10.2003 22:05:46
- Lizenz eigener Beiträge: Artistic Lizenz
- Wohnort: 50° 45' 0" N 12° 10' 0" E
zorn hat geschrieben:Ich hoffe ihr mein mein PATH Variable mit CLASSPATH. Die zeigt nach :/usr/java/j2re1.4.1_03/bin:/usr/java/j2sdk1.4.1_03/bin: woran man auch die Version erkennt.
Die Programme java und javac kann ich entsprechend aufrufen. Die Programme die ich starten will sind z.B. LimeWire oder freemind, und die haben beide ein Startscript in ihrem folder (z.B. ./freemind.sh).
Code: Alles auswählen
java -version
Grüße, Marco
zorn hat geschrieben:Ich hoffe ihr mein mein PATH Variable mit CLASSPATH.
THX
Nein,
PATH ist dafür, das er die binaries java, jar, javac,.... findet.
CLASSPATH wird benutzt um den Programmen mitzuteilen, wo sich die
libraries befinden.
Bei mir sieht das teilweise so aus (bitte anpassen )
Code: Alles auswählen
JAVA_HOME=/usr/local/java
CLASSPATH=.:/usr/local/java:/usr/local/j2ee/lib/j2ee.jar:/usr/local/classes/classes12.zip:$CLASSPATH
PATH=$PATH:/usr/local/java/bin
gruss
eC
Oh Mann - ich dachte ich versteh das - man kanns ja auch kompliziert machen:
java -version:
Kaffe Virtual Machine
Copyright (c) 1996-2002 Kaffe.org project contributors (please see
the source code for a full list of contributors). All rights reserved.
Portions Copyright (c) 1996-2002 Transvirtual Technologies, Inc.
The Kaffe virtual machine is free software, licensed under the terms of
the GNU General Public License. Kaffe.org is a an independent, free software
community project, not directly affiliated with Transvirtual Technologies,
Inc. Kaffe is a Trademark of Transvirtual Technologies, Inc. Kaffe comes
with ABSOLUTELY NO WARRANTY.
Engine: Just-in-time v3 Version: 1.1.3 Java Version: 1.1
Keine Ahnung ob das mit meiner PATH übereinstimmt! Aber jetzt kommts:
which java zeigt:
/usr/bin/java
welches ein link nach: /etc/alternatives/java
welches ein link nach: /usr/lib/kaffe/bin/java
ist????
ich dachte java sitzt in
/usr/java/j2re1.4.1_03/bin:/usr/java/j2sdk1.4.1_03/bin
Ist mir zu hoch...
java -version:
Kaffe Virtual Machine
Copyright (c) 1996-2002 Kaffe.org project contributors (please see
the source code for a full list of contributors). All rights reserved.
Portions Copyright (c) 1996-2002 Transvirtual Technologies, Inc.
The Kaffe virtual machine is free software, licensed under the terms of
the GNU General Public License. Kaffe.org is a an independent, free software
community project, not directly affiliated with Transvirtual Technologies,
Inc. Kaffe is a Trademark of Transvirtual Technologies, Inc. Kaffe comes
with ABSOLUTELY NO WARRANTY.
Engine: Just-in-time v3 Version: 1.1.3 Java Version: 1.1
Keine Ahnung ob das mit meiner PATH übereinstimmt! Aber jetzt kommts:
which java zeigt:
/usr/bin/java
welches ein link nach: /etc/alternatives/java
welches ein link nach: /usr/lib/kaffe/bin/java
ist????
ich dachte java sitzt in
/usr/java/j2re1.4.1_03/bin:/usr/java/j2sdk1.4.1_03/bin
Ist mir zu hoch...
--
kallisti!
kallisti!
- emge
- Beiträge: 1525
- Registriert: 20.10.2003 22:05:46
- Lizenz eigener Beiträge: Artistic Lizenz
- Wohnort: 50° 45' 0" N 12° 10' 0" E
zorn hat geschrieben:Oh Mann - ich dachte ich versteh das - man kanns ja auch kompliziert machen:
java -version:
Kaffe Virtual Machine
Mein Tipp: sorge dafür, dass die JVM von Sun verwendet wird, vermutlich treten dann die Probleme nicht mehr auf.
Code: Alles auswählen
which java
Grüße, Marco
Das ist eine freie Java-Version (leider nur auf dem 1.1er Stand). Das hast du dir wahrscheinlich mit installiert als du irgendetwas installiert was, was von java abhängt.zorn hat geschrieben: Woher hab ich nur dieses Kaffee?
Beim der Pfadvariable kann ich dir empfehlen, zuerst die java-Verzeichnisse hinzuschreiben und dann den allten Pfad. Dann hätte er zuerst die sun-Dinger gefunden und dann die von Debian in /usr/bin, so wie du es gemacht hast, hat er halt erst das von Debian gefunden und das verwendet.
cu