| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | NoClassDefNotFound Fra : Dcasso | 
  Dato :  17-12-03 09:20 |  
  |   
            Hej
 
 Sidder med et program som benytter sig af nogle data strukturer fra
 forfatteren Mark Weiss.
 
 Når mit program eksekveres i IntelliJ el. Eclipse kører programmet
 fint, men når jeg kører det fra dos (java ....), får jeg en fejl som
 hedder:
 Exception in thread "main" java.lang.NoClassDefFoundError, som pejer
 på en af de datastrukturer jeg benytter fra Weiss (har kun strukturen
 som en class fil).
 
 Hvordan kan det være at programmet kører fint fra IntelliJ og Eclipse,
 mens når jeg aktiverer det fra dos får jeg en ClassDef.
 
 Dertil skal fortælles at den klasse som den klager over, faktisk bare
 er et interface.
 
 Mvh
 Dennis C
  
            
             |   |   
            
        
 
            
         
           Kristian Thy (17-12-2003) 
         
	
            | Kommentar Fra : Kristian Thy | 
  Dato :  17-12-03 11:06 |  
  |   
            Dcasso uttered:
 > Når mit program eksekveres i IntelliJ el. Eclipse kører programmet
 > fint, men når jeg kører det fra dos (java ....), får jeg en fejl...
 
 Har du sat den rigtige classpath?
 
 \\kristian
 -- 
 Wine improves with age. The older I get, the better I like it.
  
            
             |   |   
            
        
 
            
         
           Dcasso (17-12-2003) 
         
	
            | Kommentar Fra : Dcasso | 
  Dato :  17-12-03 11:18 |  
  |   
            On 17 Dec 2003 10:06:16 GMT, Kristian Thy <thy@it.edu> wrote:
 
 >Dcasso uttered:
 >> Når mit program eksekveres i IntelliJ el. Eclipse kører programmet
 >> fint, men når jeg kører det fra dos (java ....), får jeg en fejl...
 >
 >Har du sat den rigtige classpath?
 >
 >\\kristian
 
 Ja, det vil jeg mene, jeg har nemlig compilet det i dos og det virkede
 fint og føler mig derfor sikker på class pathen er korrekt. 
 
 Dennis C
  
            
             |   |   
            
        
 
            
         
            Michael Banzon (17-12-2003) 
         
	
            | Kommentar Fra : Michael Banzon | 
  Dato :  17-12-03 11:53 |  
  |  
 
            "Dcasso" <ikke@oplyst_pga_spam.dk> skrev...
 > Ja, det vil jeg mene, jeg har nemlig compilet det i dos og det virkede
 > fint og føler mig derfor sikker på class pathen er korrekt.
 Prøv at sende input/output som du giver/får når fejlen opstår...
 -- 
 Michael Banzon
 http://michael.banzon.dk/
http://southbound.dk/blog/
            
             |   |   
            
        
 
            
         
             Dcasso (17-12-2003) 
         
	
            | Kommentar Fra : Dcasso | 
  Dato :  17-12-03 15:55 |  
  |   
            On Wed, 17 Dec 2003 11:53:23 +0100, "Michael Banzon"
 <michael@banzon.dk> wrote:
 
 >"Dcasso" <ikke@oplyst_pga_spam.dk> skrev...
 >> Ja, det vil jeg mene, jeg har nemlig compilet det i dos og det virkede
 >> fint og føler mig derfor sikker på class pathen er korrekt.
 >
 >Prøv at sende input/output som du giver/får når fejlen opstår...
 
 java start "c:\class\filer"
 -->
 Exception in thread "main" java.lang.NoClassDefFoundError:
 weiss/nonstandard/PriorityQueue at  start.main<start.java:11>
 
 Dennis C
  
            
             |   |   
            
        
 
            
         
              Kristian Thy (17-12-2003) 
         
	
            | Kommentar Fra : Kristian Thy | 
  Dato :  17-12-03 17:05 |  
  |   
            Dcasso uttered:
 > java start "c:\class\filer"
 > -->
 > Exception in thread "main" java.lang.NoClassDefFoundError:
 > weiss/nonstandard/PriorityQueue at  start.main<start.java:11>
 
 Og hvad står der sår i linie 11?
 
 \\kristian
 -- 
 "Don't eat more than you can lift"
     --Miss Piggy
  
            
             |   |   
            
        
 
            
         
               Dcasso (17-12-2003) 
         
	
            | Kommentar Fra : Dcasso | 
  Dato :  17-12-03 17:56 |  
  |   
            On 17 Dec 2003 16:04:43 GMT, Kristian Thy <thy@it.edu> wrote:
 
 >Dcasso uttered:
 >> java start "c:\class\filer"
 >> -->
 >> Exception in thread "main" java.lang.NoClassDefFoundError:
 >> weiss/nonstandard/PriorityQueue at  start.main<start.java:11>
 >
 >Og hvad står der sår i linie 11?
 >
 >\\kristian
 
 Se det er det sjove :) Den konstruerer en anden klasse, som jeg har
 lavet. I denne gennemløbes en række metoder, og på et tidspunkt er der
 en af disse metoder der kalder en priorty queue, fra weiss jar-filen.
 og går ud fra det er her den fucker op.
 
 Men hvordan kan det gå galt når filerne er kompilerede, og de virker
 fint hvis du kører dem fra eks. eclipse eller IntelliJ, mens når man
 kører dem fra dos, refererer den til en klasse, som bare er et
 interface, og siger denne ikke har en klasse definition?
 
 Dennis C
  
            
             |   |   
            
        
 
            
         
              Michael Banzon (17-12-2003) 
         
	
            | Kommentar Fra : Michael Banzon | 
  Dato :  17-12-03 17:57 |  
  |  
 
            "Dcasso" <ikke@oplyst_pga_spam.dk> skrev...
 > java start "c:\class\filer"
 > -->
 > Exception in thread "main" java.lang.NoClassDefFoundError:
 > weiss/nonstandard/PriorityQueue at  start.main<start.java:11>
 Så vidt jeg husker er det fordi at klassen weiss.nonstandard.PriorityQueue
 _ikke_ er i din classpath, det er sikkert noget dine udviklingsværktøjer
 plejer at ordne for dig...
 Det er sikkert en klasse du har liggende i en .jar-fil som automatisk
 bliver importeret, tjeck derfor evt. Eclipse eller IntelliJ for at
 finde ud af hvordan du selv får fat på den... ;-D
 -- 
 Michael Banzon
 http://michael.banzon.dk/
http://southbound.dk/blog/
            
             |   |   
            
        
 
            
         
               Dcasso (17-12-2003) 
         
	
            | Kommentar Fra : Dcasso | 
  Dato :  17-12-03 18:13 |  
  |   
            On Wed, 17 Dec 2003 17:56:40 +0100, "Michael Banzon"
 <michael@banzon.dk> wrote:
 
 >"Dcasso" <ikke@oplyst_pga_spam.dk> skrev...
 >> java start "c:\class\filer"
 >> -->
 >> Exception in thread "main" java.lang.NoClassDefFoundError:
 >> weiss/nonstandard/PriorityQueue at  start.main<start.java:11>
 >
 >Så vidt jeg husker er det fordi at klassen weiss.nonstandard.PriorityQueue
 >_ikke_ er i din classpath, det er sikkert noget dine udviklingsværktøjer
 >plejer at ordne for dig...
 >
 >Det er sikkert en klasse du har liggende i en .jar-fil som automatisk
 >bliver importeret, tjeck derfor evt. Eclipse eller IntelliJ for at
 >finde ud af hvordan du selv får fat på den... ;-D
 
 Ja, jeg regnede også med det var sådan et problem, men jeg valgte
 derfor at lægge den både i ext mappen samt lægge den i samme mappe som
 mine andre klassefiler, burde den så ikke i det mindste kunne finde
 den en af stederne?
 
 Dennis
  
            
             |   |   
            
        
 
            
         
                Anders K. Olsen (17-12-2003) 
         
	
            | Kommentar Fra : Anders K. Olsen | 
  Dato :  17-12-03 19:31 |  
  |   
            "Dcasso" <ikke@oplyst_pga_spam.dk> wrote in message
 news:jk31uv4klco91kkpkaj7vr8uv1qe2vctmf@4ax.com...
 > On Wed, 17 Dec 2003 17:56:40 +0100, "Michael Banzon"
 > <michael@banzon.dk> wrote:
 > >Det er sikkert en klasse du har liggende i en .jar-fil som automatisk
 > >bliver importeret, tjeck derfor evt. Eclipse eller IntelliJ for at
 > >finde ud af hvordan du selv får fat på den... ;-D
 >
 > Ja, jeg regnede også med det var sådan et problem, men jeg valgte
 > derfor at lægge den både i ext mappen samt lægge den i samme mappe som
 > mine andre klassefiler, burde den så ikke i det mindste kunne finde
 > den en af stederne?
 
 Er koden i en jar-fil? Så tilføj jar-filen til din CLASSPATH.
 
 Er koden bare i nogle class filer, så sørg for at disse filer er tilføjet
 din classpath. Vær dog opmærksom på hvilken package som klasserne befinder
 sig i. Du skal have roden af package statementet i din classpath. Hvis
 f.eks. du har en klasse med package com.mydomain.package, og filerne ligger
 i c:\com\mydomain\package\, så skal c:\ med i din classpath, ikke
 c:\com\mydomain\package
 
 /Anders
 
 
  
            
             |   |   
            
        
 
            
         
           Maxi (17-12-2003) 
         
	
            | Kommentar Fra : Maxi | 
  Dato :  17-12-03 22:42 |  
  |   
            Hej Dcasso,
 Jeg har selv haft en lignende problem. Mit problem blev løst ved at
 compileren også skulle have sourse filen. Det er ikke nok at kopier klassen
 det rigtig sted og sætte class path op. I forbindelse med interfase skal
 compileren også have sourse filen.
 
 "Dcasso" <ikke@oplyst_pga_spam.dk> wrote in message
 news:q640uvklir1nnjgbvsm72129jfhfen45bp@4ax.com...
 > Hej
 >
 > Sidder med et program som benytter sig af nogle data strukturer fra
 > forfatteren Mark Weiss.
 >
 > Når mit program eksekveres i IntelliJ el. Eclipse kører programmet
 > fint, men når jeg kører det fra dos (java ....), får jeg en fejl som
 > hedder:
 > Exception in thread "main" java.lang.NoClassDefFoundError, som pejer
 > på en af de datastrukturer jeg benytter fra Weiss (har kun strukturen
 > som en class fil).
 >
 > Hvordan kan det være at programmet kører fint fra IntelliJ og Eclipse,
 > mens når jeg aktiverer det fra dos får jeg en ClassDef.
 >
 > Dertil skal fortælles at den klasse som den klager over, faktisk bare
 > er et interface.
 >
 > Mvh
 > Dennis C
 
 
  
            
             |   |   
            
        
 
            
         
           Dcasso (17-12-2003) 
         
	
            | Kommentar Fra : Dcasso | 
  Dato :  17-12-03 23:35 |  
  |   
            On Wed, 17 Dec 2003 22:42:24 +0100, "Maxi" <dilorjaan50@hotmail.com>
 wrote:
 
 >Hej Dcasso,
 >Jeg har selv haft en lignende problem. Mit problem blev løst ved at
 >compileren også skulle have sourse filen. Det er ikke nok at kopier klassen
 >det rigtig sted og sætte class path op. I forbindelse med interfase skal
 >compileren også have sourse filen.
 >
 
 Hej 
 
 Har lige testet noget lignende, og set dit svar og du har ret. Det
 interessante er dog, det ikke var problemer ved tidspunktet  for
 compileringen, men kun eksekveringen af selve programmet.
 
 Men har fået det til at virke :) Og tak til alle.
 
 Dennis 
 
  
            
             |   |   
            
        
 
            
         
           Filip Larsen (18-12-2003) 
         
	
            | Kommentar Fra : Filip Larsen | 
  Dato :  18-12-03 00:00 |  
  |  
 
            "Maxi" skrev
 > Jeg har selv haft en lignende problem. Mit problem blev løst ved at
 > compileren også skulle have sourse filen. Det er ikke nok at kopier
 klassen
 > det rigtig sted og sætte class path op. I forbindelse med interfase
 skal
 > compileren også have sourse filen.
 Det sidste er ikke rigtigt. Med korrekt opsæt classpath behøver man ikke
 adgang til kildekoden for biblioteker.
 Den løsning du angiver er blot (endnu) et symptom på, at classpath ved
 run-time af en eller anden grund ikke inkluderer de nødvendige
 biblioteksklasser. Ved at inkluderer kildekoden sammen med din egen kode
 bliver klassefilen nemlig (indirekte) placeret i classpath sammen med
 resten af din kode.
 Følgende sider fra J2SE dokumentationen beskriver classpath (eksempelvis
 under Windows):
   http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/classpath.html
  http://java.sun.com/j2se/1.4.2/docs/tooldocs/findingclasses.html
Mvh,
 -- 
 Filip Larsen
            
              |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |