Avatar billede 49152 Nybegynder
25. oktober 2001 - 18:07 Der er 10 kommentarer og
2 løsninger

Hello World

Nu kan jeg pludselig ikke få min Hello World program til at virke.

class SigHej {
   
    public static void main (String[] main) {
        System.out.println(\"Hej Hej,\");
    }
}

Hvis jeg lægger programmet i en mappe.

Går ud i dos åbner mappen og skriver:

javac SigHej.java

går alt fint og der kommer en SigHej.class,

Så skriver jeg

java SigHej

Og dos skriver

Exception in thread \"main\" java.lang.NoClassDefFoundError: SigHej

Altså somom den overhovedet ikke kan finde filen SigHej.class, selvom jeg står i den rigtige mappe og selvom jeg ikke kludrer i storre og små bogstaver.

Hvad er der galt, har det noget med classpath variablen at gøre. ???

Svar Snart

VH


Avatar billede logical Nybegynder
25. oktober 2001 - 18:09 #1
Yep..

SET CLASSPATH=.;%CLASSPATH%

Hvis du bruger win95/98, så sæt den også ind som sidste linie i autoexec.bat.
Hvis du bruger winME/2000 sæt den ind som environment variable i controlpanel->system->advanced->environment variables->new
Avatar billede christian-petersen Nybegynder
25. oktober 2001 - 18:12 #2
For at kunne benytte klasser i det aktuelle dir, skal du have et punktum i din classpath. Hvilket du får ved at følge logicals opskrift....
Avatar billede disky Nybegynder
25. oktober 2001 - 18:27 #3
eller skriv

java -cp . SigHej
Avatar billede 49152 Nybegynder
25. oktober 2001 - 18:31 #4
Min classpath variabel har p.t. følgene værdi. Jeg ved ikke hvorfor.

\"C:\\Programmer\\JavaSoft\\JRE\\1.3.1\\lib\\ext\\QTJava.zip\"

Da jeg installerede jdk, kom jeg først til at installere det der java runtime. Men jeg forstår ikke rigtig hvad der er.

Jeg her også en resin, men den kører fint.

Jeg bruger Windows 2000 pro, er det iøvrigt nødvendigt at genstarte computeren hvis man ændrer i de der miljøvaribler, f.eks. classpath eller path.

VH

Avatar billede 49152 Nybegynder
25. oktober 2001 - 18:35 #5
Nu skrev jeg SET CLASSPATH=.;%CLASSPATH% ude i dos vinduet, og så virker det. Men inde i windows 2000 står classpath stadig til det samme, latterlidt. ? Skal den kun stå til det, hvad er classpath egentlig fordan en.

Hvis jeg har nogen .jar filer som jeg vil bruge (min jdbc driver), så skal jeg også pege på den folder som de ligger i i classpath skal jeg ikke.

Er det nødvendigt at pakke .jar filer ud for at bruge dem, eller kan man bare bruge dem som de er.

VH
Avatar billede 49152 Nybegynder
25. oktober 2001 - 18:57 #6
Jeg kan ikke finde ud af at sætte min classpath ordentligt.

Hvad skal jeg mere præcist sætte den til inde i windows 2000.

VH
Avatar billede erikjacobsen Ekspert
25. oktober 2001 - 19:55 #7
Jeg har haft helt med at skrive

  SET CLASSPATH=

altså ingenting. Så længe du bare henter ting, sådan ca. der hvor java.exe
bliver hentet, så virker det.
Avatar billede kokoko Nybegynder
25. oktober 2001 - 20:59 #8
Fejlen har ikke noget med classpath at gøre... men simpelthen en kodefejl... du skal ændre main til args:

class SigHej {
    public static void main (String[] args) {
        System.out.println(\"Hej Hej,\");
    }
}
Avatar billede erikjacobsen Ekspert
25. oktober 2001 - 21:32 #9
Det gør ingen forskel man skriver String[] main eller String[] args - det
er bare navnet på en parameter - metoden har samme signatur.
Avatar billede kokoko Nybegynder
25. oktober 2001 - 21:42 #10
nåå ja du har ret :)
Avatar billede tripwire Nybegynder
25. oktober 2001 - 22:24 #11
du skriver:

class SigHej {
   
    public static void main (String[] main) {
        System.out.println(\"Hej Hej,\");
    }
}

jeg ville skrive:

public class HejVerden
{
    public static void main (String[] arg)
    {
        System.out.println(\"Hej Verden!\");
        System.out.println(\"Hvornår smager en Tuborg bedst?\");
        System.out.println(\"Hvergang!\");
    }
}

Hentet fra www.javabog.dk
Avatar billede 49152 Nybegynder
26. oktober 2001 - 11:34 #12
Altså tak, men alt det i skriver har jo intet med problemet at gøre.

Men jeg tror jeg klarer den. Og vender tilbage med et lille indlæg her I tråden om classpath.

VH.
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