[JAVA] Vage foutmelding

Pagina: 1
Acties:
  • 184 views sinds 30-01-2008
  • Reageer

  • Blubber
  • Registratie: Mei 2000
  • Niet online
Ik krijg deze foutmelding, weet iemand wat er fout is?

Exception in thread "main" java.lang.NoClassDefFoundError: nl/hen/ict/gui/Reporter
at Venster.output(Venster.java:6)
at Apl.main(Apl.java:5)

De broncodes zien er zo uit:
Apl.java
code:
1
2
3
4
5
6
7
8
9
public class Apl {

    public static void main(String args[]) {
        Venster venster = new Venster();
        venster.output();
    }

}
]

Venster.java
code:
1
2
3
4
5
6
7
8
9
10
11
12
import nl.hen.ict.gui.*;

public class Venster {

    public void output() {
        Reporter reporter = new Reporter("De uitvoer");
        Questioner.askInt("Blaat?", 55);
        
        System.out.println("ghhghGHghghgg");
    }

}

Weet iemand wat er hier fout aan is?

Verwijderd

Kunnen ze elkaar vinden? Staan ze in dezelfde directory?

  • Tsjipmanz
  • Registratie: Oktober 2000
  • Laatst online: 13-05 14:52

Tsjipmanz

Der Rudi ist da

Is het datatype Reporter wel ergens gedefinieerd?

There's no such thing as a mistake, just happy accidents - Bob Ross
Relaxte muziek: altijd okee!
- Soulseek rulez -


  • Blubber
  • Registratie: Mei 2000
  • Niet online
Op donderdag 27 september 2001 15:57 schreef Tsjipmanz het volgende:
Is het datatype Reporter wel ergens gedefinieerd?
??? Hoe doe ik dat?

Ja ze kunnen elkaar vinden...

  • Tsjipmanz
  • Registratie: Oktober 2000
  • Laatst online: 13-05 14:52

Tsjipmanz

Der Rudi ist da

Het is trouwens ook niet echt slim om een variabele dezelfde naam te geven als het datatype...

Je gaat toch ook niet zeggen
code:
1
Int int

?

There's no such thing as a mistake, just happy accidents - Bob Ross
Relaxte muziek: altijd okee!
- Soulseek rulez -


  • Blubber
  • Registratie: Mei 2000
  • Niet online
Op donderdag 27 september 2001 16:21 schreef Tsjipmanz het volgende:
Het is trouwens ook niet echt slim om een variabele dezelfde naam te geven als het datatype...

Je gaat toch ook niet zeggen
code:
1
Int int

?
Dat weet ik ook wel, maar daar gaat he geloof ik niet echt om.

  • Tsjipmanz
  • Registratie: Oktober 2000
  • Laatst online: 13-05 14:52

Tsjipmanz

Der Rudi ist da

en je hebt ook een Reporter.java waarin je de public class Reporter definieert?

There's no such thing as a mistake, just happy accidents - Bob Ross
Relaxte muziek: altijd okee!
- Soulseek rulez -


  • Blubber
  • Registratie: Mei 2000
  • Niet online
Op donderdag 27 september 2001 16:25 schreef Tsjipmanz het volgende:
en je hebt ook een Reporter.java waarin je de public class Reporter definieert?
De reporter staat in nl.hen.ict.gui.*;
Die ik importeer.

  • Tsjipmanz
  • Registratie: Oktober 2000
  • Laatst online: 13-05 14:52

Tsjipmanz

Der Rudi ist da

Dan gaat er toch iets mis met het importeren.

Een NoClassDefFoundError betekent namelijk dat ie de class-definitie op een of andere manier NIET kan vinden.

There's no such thing as a mistake, just happy accidents - Bob Ross
Relaxte muziek: altijd okee!
- Soulseek rulez -


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Op donderdag 27 september 2001 16:21 schreef Tsjipmanz het volgende:
Het is trouwens ook niet echt slim om een variabele dezelfde naam te geven als het datatype...

Je gaat toch ook niet zeggen
code:
1
Int int

?
Ik doe het meestal wel. Vooral als ik er maar 1 object van nodig ben en de classe naam is al vanzelfsprekend.

Dus:
code:
1
GoalDrivenInferenceEngine goalDrivenInferenceEngine = new GoalDrivenInferenceEngine();

Maar ben het met je eens dat niets zeggende variablenaam zoals:integer niet erg praktisch is om te gebruiken :)

of
code:
1
2
3
int batman = 1;
int superman = 2;
int spiderman = batman*superman;

:+

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Heb je die jar of dir waar Reporter in staat ook in je classpath staan? Lijkt me ook vrij praktisch :) Maar misschien was de compiler al bij de import regel gaan zeuren.

[edit]iets vergeten }:O

[edit]ik kon nog editen :)

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Als de code wel compileert maar niet runt is er een raar probleem. Vergelijk je compile-time classpath dan eens met je run-time classpath.

Over het benoemen van variabelen:
Normaal gesproken is het niet de bedoeling om een variabele aan te duiden met het type van de variabele. integer als variabele naam is daarom ook tamelijk nietszeggend. In een OO design ben je echter vaak je datatypen zo specifiek aan het maken dat het vaak een goede oplossing is om dit wel gewoon te doen.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Blubber
  • Registratie: Mei 2000
  • Niet online
Op donderdag 27 september 2001 16:52 schreef Alarmnummer het volgende:
Heb je die jar of dir waar Reporter in staat ook in je classpath staan? Lijkt me ook vrij praktisch :) Maar misschien was de compiler al bij de import regel gaan zeuren.

[edit]iets vergeten }:O

[edit]ik kon nog editen :)
Daar heb ik mee zitten kutten. Zonder classpath geeft hij geen compile foutmelding, met classpath kan Apl.java Venster.java niet meer vinden :(

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Op donderdag 27 september 2001 19:36 schreef Blubber het volgende:

[..]

Daar heb ik mee zitten kutten. Zonder classpath geeft hij geen compile foutmelding, met classpath kan Apl.java Venster.java niet meer vinden :(
Als je van dit gedonder afwilt, kun je ook een ide ophalen. Er zijn er genoeg gratis ide`s en natuurlijk ook die een paar centjes kosten. Die ide`s regelen over het algemeen die classepaden, en anders kan je je ingestelde klasse paden in ieder geval een stuk beter zien. En als je java nog steeds zo`n leuke taal vind kun je je altijd nog wel een keer verdiepen in die akelige classpath. Tis helaas geen schone oplossing, maar denk dat we iets te weinig info hebben om het probleem te fixen.

  • roelio
  • Registratie: Februari 2001
  • Niet online

roelio

fruitig, en fris.

dan zet je je classpath niet goed

AMD Phenom II X4 // 8 GB DDR2 // SAMSUNG 830 SSD // 840 EVO SSD // Daar is Sinterklaas alweer!!


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

als je onder windows werkt kan je ook in een dosprompt het commando:SET intypen en kijken welke dingen allemaal in je classpath zitten.

[edit]Hoe kan ik iets bold maken? <b>tekst</b> werkt niet

  • Blubber
  • Registratie: Mei 2000
  • Niet online
Ik heb van de classes die ge-import moeten ook een .jar Maar waar laat ik die dan?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

(jarig!)
Op dinsdag 02 oktober 2001 10:09 schreef Blubber het volgende:
Ik heb van de classes die ge-import moeten ook een .jar Maar waar laat ik die dan?
'Ergens' (maakt niet zoveel uit)
Zolang je maar een -classpath 'met het volledige naar die .jar (inclusief de .jar naam)' meegeeft.

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Op dinsdag 02 oktober 2001 10:09 schreef Blubber het volgende:
Ik heb van de classes die ge-import moeten ook een .jar Maar waar laat ik die dan?
Het is meestal wel zo verstandig om alle jars (in aparte dirs) bij elkaar te zetten. Zo hou je er ook een beetje overzicht over. Maar het maakt verder niets uit waar je ze neerzet.

Tip:
http://www.rjhsoftware.com/rjhextensions/

hiermee kun je oa op een file staan en daar een dosprompt op openen en de filepath in je clipboard plaatsen. Een erg fijne tool, en zeker bij het instellen van jars. En het is freeware :)

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

als je met een batfile gaat werken dan zou je dit kunnen doen:
code:
1
2
set classpath=%classpath%;c:\jars\tool1.jar;
set classpath=%classpath%;c:\jars\tool2.jar;

door %classpath% te gebruiken overschrijf je je oude classepaden niet en voeg je je nieuwe er aan toe. Erg praktisch. En je blijft een goed overzicht houden, want elke jar neemt 1 regel in beslag.

[edit] ; vergeten :z

Verwijderd

Hallo laat die gast zijn vragen aan zijn leraar vragen. Aan Lok of Reitsema. Daar zijn ze voor en wij zijn er niet voor zijn schoolfouten / vragen te beantwoorden. Maar ja op hogeschool enschede is de java les klote dus waarschijnlijk weet de leraar het ook niet... Hehe

  • Blubber
  • Registratie: Mei 2000
  • Niet online
Op dinsdag 02 oktober 2001 15:52 schreef azazelsat het volgende:
Hallo laat die gast zijn vragen aan zijn leraar vragen. Aan Lok of Reitsema. Daar zijn ze voor en wij zijn er niet voor zijn schoolfouten / vragen te beantwoorden. Maar ja op hogeschool enschede is de java les klote dus waarschijnlijk weet de leraar het ook niet... Hehe
Ach meneer weet alles? Nou leg het dan maar eens uit. Er komt geen zinnig woord uit de b*k, volgens mij weet je het zelf niet eens. :r:r:r

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Gezelli topic hier :) .

Zelf pas ik nooit mijn classpath aan. Dit kan tot allemaal lastige complicaties leiden... Ik distribueer alle jars die ik nodig heb in een subdir van de applicatie. In de manifest file van een jar kan je deze jarretjes in de classpath opnemen. Gevolg: alles werkt als je het alleen maar kopieert en geen conflicten met andere versies van libs :).

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • joostdiepenmaat
  • Registratie: Maart 2001
  • Laatst online: 05-09-2022
aah, programmeren in Java 1 bij dhr. Jannink of dhr. Salomons zeker, vorig jaar ook gehad, alleen nooit zo triest geweest om voor dit vak al het forum te raadplegen. Ga naar colleges ofzo, en je hebt ook PGO groepsgenoten hoor!

verder veel succes

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Classpath problemen komen bij het gebruik van Java erg veel voor. De eerste reactie die je hoort van 'Java helpers' als een programma niet werkt is de vraag of je classpath goed staat. Het was vooral in het verleden een vrij lastig gebeuren. Het is dus wel logisch dat daar vragen over ontstaan.

Het is wel leuk om het een beetje gezellig te houden hier :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Op dinsdag 02 oktober 2001 16:56 schreef Blubber het volgende:

[..]

Ach meneer weet alles? Nou leg het dan maar eens uit. Er komt geen zinnig woord uit de b*k, volgens mij weet je het zelf niet eens. :r:r:r
Gezellie inderdaad :)

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 01:14

Janoz

Moderator Devschuur®

!litemod

* Janoz krijgt een plotselinge ingeving



Zou je in je Venster class niet ff iets als
code:
1
2
public Venster() {
}

toevoegen? Volgens mij valt java gewoon over het missen van de constructor....

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Reefer
  • Registratie: Mei 2000
  • Laatst online: 21-02-2025

Reefer

madness

Op dinsdag 02 oktober 2001 22:06 schreef Janoz het volgende:
* Janoz krijgt een plotselinge ingeving



Zou je in je Venster class niet ff iets als
code:
1
2
public Venster() {
}

toevoegen? Volgens mij valt java gewoon over het missen van de constructor....
idd, zo zou het niet eens mogen compileren volgens mij.

A Breakbeat A Day Keeps Religion Away.


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Dat is het probleem niet denk ik. Als er geen constructor is opgegeven wordt automatisch een lege constructor toegevoegd. Het is dan ook niet verplicht om een constructor te maken en deze foutmelding zou er niet door veroorzaakt moeten kunnen worden...

Het is natuurlijk altijd netter en beter om wel een constructor te maken :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Blubber
  • Registratie: Mei 2000
  • Niet online
Op dinsdag 02 oktober 2001 18:51 schreef mbravenboer het volgende:
Classpath problemen komen bij het gebruik van Java erg veel voor. De eerste reactie die je hoort van 'Java helpers' als een programma niet werkt is de vraag of je classpath goed staat. Het was vooral in het verleden een vrij lastig gebeuren. Het is dus wel logisch dat daar vragen over ontstaan.

Het is wel leuk om het een beetje gezellig te houden hier :) .
Ja sorry, maar dat gebeurt hier nou zo vaak. Altijd als iemand een vraag stelt is er weer minstens een iemand die z'n grote bek opentrekt op te zeggen hoe dom de vraag wel net is, terwijl die persoon zelf het antwoord niet weet. :r

Maar het probleem ligt niet bij de missende constructor. Ook andere programmas die wel compilen/runnen op andere bakken, werken compilen wel bij mij, maar runnen vervolgens niet.

  • Reefer
  • Registratie: Mei 2000
  • Laatst online: 21-02-2025

Reefer

madness

Op woensdag 03 oktober 2001 15:19 schreef Blubber het volgende:

[..]
Maar het probleem ligt niet bij de missende constructor. Ook andere programmas die wel compilen/runnen op andere bakken, werken compilen wel bij mij, maar runnen vervolgens niet.
ik denk dan toch dat het aan het class path ligt, je moet de package van de HEN wel goed toevoegen en dat is best lastig(ging bij mij vorig jaar ook niet goed ;) ,
ik heb alle source uitgepakt in e:\jdk1.3\src en de nl.hen.ict package daar ook in uitgepakt, en dan de e:\jdk1.3\src als enige in mn classpath gezet

A Breakbeat A Day Keeps Religion Away.

Pagina: 1