laPANTHA Skrevet 22. mars 2003 Del Skrevet 22. mars 2003 Får en java.lang.NoClassDefFoundError når jeg prøver å kjøre en kompilert .java fil i command interpreter, men den kan fint kjøres fra IDE. Men jeg får også samme feilen når jeg prøver å kjøre en .jar fil fra IDE. Hva har jeg glemt? Lenke til kommentar
smetho Skrevet 22. mars 2003 Del Skrevet 22. mars 2003 Er ikke helt stødig på dette, får til stadighet samme problem Men har du sjekket at alt som skal ligge i classpath ligger der? Ved bruk av en del IDEer så gjør en dette i IDEer selv, men det hjelper ikke alltid når en skal gjøre det fra kommandolinjen. Håper det hjalp, var et skudd i blinde Lenke til kommentar
runeb Skrevet 22. mars 2003 Del Skrevet 22. mars 2003 Er nok et classpath problem, ja. Hvis du står i samme katalog som den kompilerte class-fila du skal kjøre, så ta en "set classpath=." først. Hvis du står i en annen katalog bruk "set classpath=[katalog der class-fila er]" Lenke til kommentar
eivindbirkeland Skrevet 23. mars 2003 Del Skrevet 23. mars 2003 imports du bruker i programmet (utover standard Java), skal også i classpath. Lenke til kommentar
Orjanp Skrevet 27. mars 2003 Del Skrevet 27. mars 2003 Står i katalogen der .class fila ligger. Det er ikke samme katalog som .java fila ligger. Skriver inn "set classpath=." og etterpå java "filnavn".class Får fortsatt den samme feilmeldingen. Er det noe jeg gjør feil? Må det gjøres noen instillinger i editoren? Bruker JBuilder 8. Lenke til kommentar
threiran Skrevet 27. mars 2003 Del Skrevet 27. mars 2003 Hvis du skriver java filnavn.class burde du prøve java filnavn istedenfor :wink: CPL Lenke til kommentar
Orjanp Skrevet 28. mars 2003 Del Skrevet 28. mars 2003 Har prøvd det også. Da får jeg en masse feilmeldinger. Kan komme tilbake med de litt senere. Det funker fint å kjøre i JBuilder. Lenke til kommentar
Maestro Skrevet 28. mars 2003 Del Skrevet 28. mars 2003 En ting du kan prøve for å få kjørt programmet ditt i cmd er: SET JAVA_HOME=C:Program Files..... Settes til roten der JRE eller SDK katalogen din ligger. Kan ellers tenke meg at problemet med å kjøre .jar i IDE er pga dette er en Java-Bean, som må legges til IDE. Bruker selv Forte, og der har de add Java-Bean. Når dette er gjort kan du bruke metodene i Java-Beanen. Håper jeg har forstått rett og at dette kan hjelpe. Lenke til kommentar
runeb Skrevet 28. mars 2003 Del Skrevet 28. mars 2003 Du skal ikke ha med ".class" når du kjører programmer med java. Jeg tipper problemene dine skyldes at du bruker noen JBuilder-klasser som java.exe ikke kjenner til, men siden du verken har oppgitt feilmeldingene eller kildekoden er det fryktelig vanskelig å vite hva det er. Lenke til kommentar
Orjanp Skrevet 28. mars 2003 Del Skrevet 28. mars 2003 Her er kildekoden. package helloworld; public class helloWorld { public helloWorld() { System.out.println("Hello World"); } public static void main(String[] args) { new helloWorld(); } } Denne feilmeldingen får jeg når jeg skriver "java helloWorld". Har kompilert den både i Jbuilder og med kommandoen "javac helloWorld.java". Det funker fint å kjøre i JBuilder. Exception in thread "main" java.lang.NoClassDefFoundError: helloWorld (wrong name: helloworld/helloWorld) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:502) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123) at java.net.URLClassLoader.defineClass(URLClassLoader.java:250) at java.net.URLClassLoader.access$100(URLClassLoader.java:54) at java.net.URLClassLoader$1.run(URLClassLoader.java:193) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:186) at java.lang.ClassLoader.loadClass(ClassLoader.java:299) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265) at java.lang.ClassLoader.loadClass(ClassLoader.java:255) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315) Lenke til kommentar
runeb Skrevet 28. mars 2003 Del Skrevet 28. mars 2003 Her er problemet ditt: package helloworld; Du har definert programmet til å tilhøre pakken helloworld, og da forventer java å finne klassen i en underkatalog med navn helloworld. Fjern denne linjen, eller legg klassefila i en underkatalog med navn helloworld så tror jeg alt skal virke. Lenke til kommentar
laPANTHA Skrevet 8. juni 2003 Forfatter Del Skrevet 8. juni 2003 Er nok et classpath problem, ja. Hvis du står i samme katalog som den kompilerte class-fila du skal kjøre, så ta en "set classpath=." først. Hvis du står i en annen katalog bruk "set classpath=[katalog der class-fila er]" Dette fungerer, men kun på .java filer. Får fremdeles beskjed om java.lang.NoClassDefFoundError: Test Test.java får jeg kjørt. Lager jeg en .jar fil av den fungerer det ikke. Lenke til kommentar
runeb Skrevet 8. juni 2003 Del Skrevet 8. juni 2003 Jeg er ikke vant med å bruke jar-filer, men hvis jeg husker riktig så skal den være med i classpath. F.eks. hvis klassen Test ligger i jar-fila test.jar så bruk classpath=[path til katalogen]test.jar så skal du kunne kjøre den med "java Test" Lenke til kommentar
kyrsjo Skrevet 13. august 2003 Del Skrevet 13. august 2003 Takker funker fint nå. bare se: (Linux) [kyrre@localhost Java]$ ls FiboNaci.class HelloDate.class HelloWorld.class FiboNaci.java HelloDate.java HelloWorld.java FiboNaci.java~ HelloDate.java~ HelloWorld.java~ [kyrre@localhost Java]$ javac FiboNaci.java [kyrre@localhost Java]$ java FiboNaci 1 1 2 3 ... 7540113804746346429 **************Results************** Oddetall: 62 Partall: 30 Antall runder: 92 Forholdstall siste to tall: (Gyldene snitt) 1.618033988749895 [kyrre@localhost Java]$ Hvis noen vil ha (forbedre) kildekoden, gå på www.solution-forge.net (GPL) Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå