# Classpath UmgebungsVariable



## Lamboghini (18. Dezember 2011)

Fachidiot need Help but  not help
Hallo 

Bin wie man so schön sag ein kompleter Java neuling und stehe bei ersten Programm schon an.  

Habe erstes Programm über den Compiler laufen lassen und läuft, Interpreter macht schon faxen er gibt immer die Fehlermeldung:
Exception in thread "main" java.lang.NoClassDefFoundError: HalloWelt

Ich "schätze" der fehler liegt an der fehlenden Umgebungsvariable Classpath 
hab sie versucht zu setzen aber funktoniert trotztem nicht 

Hoffe ihr könnt einen Fachidioten helfen. Verzweifel schon dran 
Danke im vorhinein

Gruß Lamboghini


----------



## sheel (18. Dezember 2011)

Hi

solange du nur eine Quellcodedatei hast und nichts von Drittanbietern einbindest
ist der Classpath völlig egal.

Ist die Klasse HalloWelt als Code in der Datei HalloWelt.java?
Ist HalloWelt public?
Ist Main mit großem M, public und static?


----------



## Fabio Hellmann (19. Dezember 2011)

Hi, 
also wenn deine Main-Klasse dieses Grundgerüst besitzt...

```
public static void main(String[] args) {
   // Dein Code
}
```
...sieht es schon mal gut aus. Andernfalls wirst du hier bereits deinen ersten Fehler finden.

Da ich aus deiner Exception:

```
Exception in thread "main" java.lang.NoClassDefFoundError: HalloWelt
```
...schließen würde, dass du ein Objekt der Klasse HalloWelt erzeugen willst und diese Klasse nicht existiert.
Sprich wenn du folgenden Aufruf machst:

```
HalloWelt hw = new HalloWelt();
```
...erzeugst du eine Instanz eines Objektes. Dieses Objekt muss natürlich von dir vorher in einer Klasse definiert werden.

```
public class HalloWelt
{
   // Deine Klasse
}
```

Gruß

Fabio


----------



## Lamboghini (19. Dezember 2011)

```
// Hallo Welt Programm
import java.lang.*;

public class HalloWelt
{
	public static void mein(String[] args)
	{
		System.out.println("Hallo Welt");
	}
}
```

So siht mein Code aus ...
Kann leider mit der Fehlermeldung drauf nix anfangen 
Compilieren lässt er ja aber der Interpreter streikt...

Ratlosikket macht sich breit >.<

@Fabio Thx für deine Hilfe bin aber ein Fachidiot >.> Purer Neuling in sachen java deswegen auch diese Frage 
@sheel Thx weiß jetzt das Classpath nicht daran schuld ist


----------



## sheel (19. Dezember 2011)

Wie heißt die Datei?
Wie rufst du den Compiler auf?
Wie willst du das Programm starten?


----------



## Lamboghini (19. Dezember 2011)

HalloWelt
Compiler über dos-Fenster(javac)
Ja zum versuchen ob es überhaupt funktoniert


----------



## sheel (19. Dezember 2011)

Dateiname: Nur HalloWelt? :suspekt:
Kompilieren: Ja schon, aber wie? Genaue Eingabe?
Auch den Startbefehl genau bitte.


----------



## Lamboghini (19. Dezember 2011)

Ja. Is nur Testprog. Weiß gerade mal die Imports und 7 Befehle xD das prog sollte nur zum versuchen sein

javac HalloWelt.java
java HalloWelt


----------



## sheel (19. Dezember 2011)

Mit dem "nur HalloWelt" hab ich nicht bemängelt, dass es zu kurz ist,
nicht falsch verstehen...ich meinte nur das ".java" 

...Hm.
Gibts nach dem Kompilieren eine class-Datei?
Kannst du die mal raufladen?

edit: Der Code... "mein" 
m*a*in, dann gehts sicher


----------



## Lamboghini (19. Dezember 2011)

Ups ö.ö Soory, schwer zu sehen >.< und ich dachte das sei doch ein a... ö.ö
Naja so merkt mans ich werd mit 15 schon alt >.> 

Thx vielmals für die Mühe und soory für das Mini Proplemchien xD

edit:
Weiß net wiso aber es kommt noch immer die gleiche Fehlermeldung >.<
Bin am verzweifeln Q_Q


----------



## sheel (19. Dezember 2011)

Hm.
Hast du nach dem Kompilieren/vor dem Ausführen eine Datei namens HalloWelt.class
in dem Verzeichnis? Schreibt der Compiler irgendwas raus, oder überhaupt nichts?

Falls es die class gibt, bitte wirklich mal raufladen.


----------



## Lamboghini (19. Dezember 2011)

Glaube es liegt am Interpreter od Compiler weil hab jetzt "ausversehen" mal das d vergessen und es kamm die gleiche fehlermeldung... Wie als wars richtig geschrieben...
Komisch...

Er schreibt nur die Fehlermeldung raus sonst nix ...


----------



## sheel (19. Dezember 2011)

Auch die rcihtige Datei im Compiler/Interpreter angegeben?
Nicht eventuell eine alte Kopie aus einem anderen Verzeichnis?

..Upload bitte, dann find ich das gleich heraus.


----------



## Lamboghini (19. Dezember 2011)

Hoffe du kannst damit was anfangen sind class und java Datei


----------



## sheel (19. Dezember 2011)

Also...
Deine class starten: OK
Kompilieren: OK
Wieder Starten: OK

Wirklich sicher, dass das Verzeichnis gleich ist?
Javaversion? Betriebssystem?


----------



## Lamboghini (19. Dezember 2011)

Java Version 6u20
Betriebsystem Windows Vista

Verzeichnis is gleich


----------



## youza (20. Dezember 2011)

```
// Hallo Welt Programm
import java.lang.*;
 
public class HalloWelt
{
    public static void mein(String[] args)
    {
        System.out.println("Hallo Welt");
    }
}
```



schreib mal statt "mein" main 


```
// Hallo Welt Programm
public class HalloWelt
{
    public static void main(String[] args)
    {
        System.out.println("Hallo Welt");
    }
}
```

@edit
seh grad des hast du schon gesehen aber der Fehler den du zuerst bekommen hast der war des eben ich würd dir einfach mal empfehlen wenn du ein bißchen Java machen willst das du dir Eclipse http://www.eclipse.org/downloads/ runterlädst der zeigt dir die meisten Fehler von selbst an und hat auch einen Compiler dabei.
Erspart viel Ärger.

Außerdem brauchst du den Import nicht vielleicht ist der javac auch so streng das du keinen Warnings haben darfst und da du den Import nicht verwendest hast du ein unuesd Warning. Nimm des einfach raus dann wüsst ich net was sonst noch falsch sein soll.


----------



## j2se (22. Dezember 2011)

ich habe das file HalloWelt.java aus dem zip kompiliert und gestartet und es lief. der import java.lang ist obsolet, da die jvm dieses paket automatisch importiert.

was du versuchen kannst, ist folgendes: navigiere zum Verzeichnis mit dem file HalloWelt.class und gibt folgendes ein

java -cp . HalloWelt

der . setzt den classpath auf das aktuelle verzeichnis. wenn das auch nicht hilft, teste ob mit diesen beiden befehlen 

java -version
javac -version

beide befehle gefunden werden. übrigens, wie sieht deine PATH variable für java aus?


----------

