Avatar billede dansoend Nybegynder
13. april 2003 - 23:04 Der er 14 kommentarer og
1 løsning

Kan ikke finde main method???

Når jeg har kompileret mine programmer (f.eks. javac test.java), prøver jeg at køre dem (f.eks. java test.class), men den siger at den ikke kan finde main method:
Exception in thread "main" java.lang.NoClassDefFoundError: test/class.

Jeg har haft installeret java et utal af gange, men det er første gang jeg har oplevet dette problem (kører uden problemer på min anden computer). Bruger j2sdk1.4.1 og har prøvet at geninstallere det et par gange, men problemet vedbliver.
Sikkert totalt rookie mistake, men jeg er helt blank, normalt burde der da ikke være problemer med JVM, vel?
Avatar billede disky Nybegynder
13. april 2003 - 23:07 #1
Er der en main metode i dit program ?

public static void main (String[] args)
{
}
Avatar billede dansoend Nybegynder
13. april 2003 - 23:09 #2
ja det er der
Avatar billede arne_v Ekspert
13. april 2003 - 23:10 #3
Brug:

java test

(i.s.f. java test.class)
Avatar billede disky Nybegynder
13. april 2003 - 23:11 #4
Og skal det være helt korrekt skriv:

java -cp . test

Så er classpath også sat til current directory, hvis du ikke har gjort det på system niveau.
Avatar billede dansoend Nybegynder
13. april 2003 - 23:12 #5
giver samme resultat, når jeg bare skriver java test (hvilket jeg også plejer at gøre)
Avatar billede erikjacobsen Ekspert
13. april 2003 - 23:12 #6
Skriv

  java Class

ikke

  java class
Avatar billede arne_v Ekspert
13. april 2003 - 23:13 #7
Du skriver:

java test

og får fejlen:

Exception in thread "main" java.lang.NoClassDefFoundError: test/class

?
Avatar billede disky Nybegynder
13. april 2003 - 23:13 #8
prøv med:

java -cp . test
Avatar billede dansoend Nybegynder
13. april 2003 - 23:15 #9
til disky: nu virker det, men skal jeg skrive det hver gang? kan jeg ikke gøre sådan at jeg bare skriver java test ligesom i gamle dage ;-)
Avatar billede disky Nybegynder
13. april 2003 - 23:16 #10
Jo hvis du indsætter 'current directory' i din classpath på system niveau.
Avatar billede dansoend Nybegynder
13. april 2003 - 23:20 #11
og det gør man ved at...
Avatar billede arne_v Ekspert
13. april 2003 - 23:22 #12
Windows 2000/XP:

"Control Panel" "System" "Advanced" "Environment"

og lav/ret CLASSPATH.
Avatar billede dansoend Nybegynder
13. april 2003 - 23:29 #13
mange tak for hjælpen disky (og jer andre)
Avatar billede disky Nybegynder
13. april 2003 - 23:31 #14
Selv tak.
Avatar billede erikjacobsen Ekspert
13. april 2003 - 23:33 #15
Kan det passe du navngiver dine klasse med ene små bogstaver.
Man kan, men man bør ikke. "class Test" er bedre end "class test"
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester