Toon posts:

[Java2SDK] Krijg hem niet aan de praat...

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb de Java 2 SDK geïnstalleerd, maar ik kan alleen maar classes compileren. Wanneer ik een class probeer te runnen met het commando java dan krijg ik de volgende foutmelding:

C:\Program Files\Java2SDK\bin>java C:\Test\Test
Exception in thread "main" java.lang.NoClassDefFoundError: C:\Test\Test


Dit is de huidige configuratie:

Windows XP
Java 2 SDK, Standard Edition 1.4.0
CLASSPATH = .;C:\Test

Ik heb de CLASSPATH variabele ingesteld via de properties van My Computer. En hij staat bij zowel System Variables als bij User Variables. Op mijn Linux (Mandrake 9.0) met vrijwel dezelfde configuratie krijg ik ook dezelfde foutmelding. Ik dacht eerst dat het aan mijn CLASSPATH variabele lag, maar na veel proberen werkt het nog steeds niet :'(. Wat doe ik verkeerd?

  • momania
  • Registratie: Mei 2000
  • Laatst online: 00:32

momania

iPhone 30! Bam!

je roept je main class gewoon niet goed aan... c:\Test\Test gaat niet werken.
standaard is: package.MainClass

Neem je whisky mee, is het te weinig... *zucht*


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Heb je de class ook in een package staan? Anders kan de JRE 'm nog niet vinden natuurlijk.

It’s nice to be important but it’s more important to be nice


Verwijderd

Topicstarter
Kan dat gewoon in de source code geregeld worden? Ik heb nu namelijk het volgende:

Java:
1
2
3
4
5
6
7
public class Test
{
        public static void main ( String [  ] arguments )
        {
                System.out.println ( "Hello World!" );
        }
}

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-08 13:19

.oisyn

Moderator Devschuur®

Demotivational Speaker

java -cp C:\Test Test

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Topicstarter
Bedankt dat werkt. Alleen waarom zou een class (?) in een package moeten staan?

  • momania
  • Registratie: Mei 2000
  • Laatst online: 00:32

momania

iPhone 30! Bam!

Verwijderd schreef op 17 March 2003 @ 14:51:
Kan dat gewoon in de source code geregeld worden? Ik heb nu namelijk het volgende:

Java:
1
2
3
4
5
6
7
public class Test
{
        public static void main ( String [  ] arguments )
        {
                System.out.println ( "Hello World!" );
        }
}
Dat is wel goed, maar je main class roep je nooit met een path aan.
Dat path zet je in je classpath en de class waar de main inzit roep je gewoon direct aan; eventueel met een package naam ervoor.
In jouw geval, als je directory C:\Test als in je default classpath hebt staan:
"java Test"

Neem je whisky mee, is het te weinig... *zucht*


Verwijderd

Topicstarter
Oh ok nu snap ik het systeem :). Thanks!

  • momania
  • Registratie: Mei 2000
  • Laatst online: 00:32

momania

iPhone 30! Bam!

Verwijderd schreef op 17 March 2003 @ 14:56:
Bedankt dat werkt. Alleen waarom zou een class (?) in een package moeten staan?
Heeft te maken met je ontwerp model etc. Is zat over te vinden op de java site van SUN. Maar even kort: stel je eens voor dat je een programma hebt met 5000 classes en je hebt ze niet in packages, wordt een beetje onoverzichtelijk dan. Met de packages kan je dus mooi bepaalde stukken code van elkaar scheiden en groeperen.

Neem je whisky mee, is het te weinig... *zucht*

Pagina: 1