Permalänk
Medlem

Få java att fungera

import javax.swing.*;

public class Test {
public static void main (String[] arg) {
JOptionPane.showMessageDialog(null, "hej");
System.exit(0);
}
}

Denna filen är döpt till Test.java. Det går att kompilera den men när jag försöker köra den får jag felmeddelandet "java.lang.NoClassDefFoundError: C:\Documents and Settings\Ägaren\Skrivbord\prog\Test/java
Exception in thread "main"
Tool completed with exit code 1"

Filen heter alltså Test.java och ligger i mappen prog.
Vad är fel?

Visa signatur

Don't pretend that you know me 'cause I don't even know myself.

Permalänk
Medlem

Du har förmodligen skrivit "java Test.java" istället för "java Test".

Visa signatur

:€

Permalänk
Medlem

du har glömt...

public static void main(String[] args)
ska det nog vara inte
public static void main(String[] arg)
s saknas tror det är det.

Visa signatur

ABIT KN9 Ultra :: AMD Athlon 64 X2 4600+ :: Hiper ATX 580W :: Crucial DDR2 BallistiX PC5300 2048MB

Permalänk
Medlem

Det ska vara "arg" tror jag - det kompileras iaf rätt.
jag har inte skrivit Test.java i stället för Test.
Miljövariablerna har jag även varit inne och kikat på men iom att jag testat att gå in till bin-mappen och därifrån adressera filen med absolut sökväg känns det inte som att det skulle göra någon skillnad...

Visa signatur

Don't pretend that you know me 'cause I don't even know myself.

Permalänk
Medlem

testa "java -cp .;.. Test"

stå alltså i katalogen Test.class ligger

Visa signatur

Confused by earlier errors. Bailing out...
pluggakuten.se - Din läxhjälp på internet

Permalänk
Medlem

koden är det inget fel på, fungerar bra här. Det verkar har något med classpath'en att göra, om man söker på ditt felmeddelande på google får man upp en del. Enklaste lösning är kanske att installera om JDK. Jag har inte satt upp mina systempaths, jag kompilerar och kör i JCreator LE http://www.jcreator.com kan kanske vara värt att prova.

Permalänk
Medlem

Alltså troligast är ju att CLASSPATH inte inkluderar . och .. (i det här fallet är det . som är den viktiga) Om inte CLASSPATH har med dessa måste man ju sätta lägga till sökvägen till alla mappar där man har klassfiler det var därför jag föreslog att slänga med . och .. som classpath vid exekveringen. Funkar det då är det ju bara att ändra CLASSPATH så den inkluderar . och ..

. betyder "aktuell katalog"
.. betyder "katalogen ett steg upp"

Att installera om JDK verkar ju vara way overkill

Sem spelar det väl ingen roll om man har
public static void main(String[] args)
public static void main(String[] arg)
public static void main(String[] vadSomHelst)

det viktiga är väl att man har en variabel till vilken "command line arguments" skickas till

Visa signatur

Confused by earlier errors. Bailing out...
pluggakuten.se - Din läxhjälp på internet

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Spaic
koden är det inget fel på, fungerar bra här. Det verkar har något med classpath'en att göra, om man söker på ditt felmeddelande på google får man upp en del. Enklaste lösning är kanske att installera om JDK. Jag har inte satt upp mina systempaths, jag kompilerar och kör i JCreator LE http://www.jcreator.com kan kanske vara värt att prova.

Tack för programtipset. Känns inte som att man orkar lägga tid på classpathen....

Visa signatur

Don't pretend that you know me 'cause I don't even know myself.