WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 26.06.2003, 19:36   #1
cenus
Elite
 
Benutzerbild von cenus
 
Registriert seit: 07.06.2000
Beiträge: 1.428

Mein Computer

Standard Java-Error (NoClassDefFoundError)

Ich fange gerade an mit java zu programmieren und habe schon beim helloworld programm ein problem. ich habe das jdk1.3.0_02 installiert. java -version gibt die version 1.4.0_01-b03 aus.

folgendes problem: ich habe den classpath auf z.b. c:\myprogs gesetzt.
wenn ich dort das helloworld-programm mit javac HelloWorld.java übersetze und mit java HelloWorld ausführe, dann funktioniert alles prächtig.

ich habe nun ein unterverzeichnis angelegt und befinde mich in C:\myprogs\bsp1. wenn ich dort nun das neue Programm ServusWien (=HelloWorld nur HelloWorld durch ServusWien ersetzt) übersetze und dann ausführen will, erhalte ich folgende Fehlermeldung:

C:\myprogs\bsp1>java ServusWien
Exception in thread "main" java.lang.NoClassDefFoundError: ServusWien

Kopiere ich den Sourcecode nach myprogs und übersetze ich es dort, dann kann ich es auch fehlerfrei ausführen. Wenn ich dann wieder ins bsp1 Verzeichnis wechsle und dort das Programm wieder übersetze, dann kann ich es auch ausführen.

Ich vermute, daß es mit der Classpath-Variable zusammenhängt. Kann mir jemand weiterhelfen?
____________________________________
lg, cenus

------------------
§1 Alle Tipps und Tricks sind ohne Garantie auf Korrektheit und Vollstaendigkeit.
§2 Es wird von mir keine Haftung fuer etwaige entstandene Schaeden uebernommen.
§3 Des weiteren distanziere ich mich von den von mir bekanntgegebenen Urls und Websites.
------------------
Schaetze das wars, oder habe ich was uebersehen?
cenus ist offline   Mit Zitat antworten
Alt 26.06.2003, 19:43   #2
Tarjan
Quantensingularität
 
Registriert seit: 28.09.2000
Alter: 55
Beiträge: 8.336


Tarjan eine Nachricht über ICQ schicken
Standard

Deine Klasse muss immer im CLASSPATH erreichbar sein. D.h. das Verzeichnis welches in dem deine Klasse liegt muss im Classpath eingetragen sein.

Am Anfang solltest Du vielleicht . eintragen. Damit ist das aktuelle Verzeichnis immer im Classpath.
____________________________________
Was ist klein, grün und dreieckig?
Ein kleines grünes Dreieck!


Bahnübergänge sind die härtesten Drogen der Welt! Ein Zug und du bist weg!
Tarjan ist offline   Mit Zitat antworten
Alt 26.06.2003, 21:03   #3
cenus
Elite
 
Benutzerbild von cenus
 
Registriert seit: 07.06.2000
Beiträge: 1.428

Mein Computer

Standard

@Tarjan
Kann ich auch zwei oder mehrere Pfade als classpath setzen?

z.b. SET CLASSPATH=C:\MYPROGS; .

oder nur

SET CLASSPATH=.

Wie ist es am besten?

Danke auf jeden Fall für den Tipp.
____________________________________
lg, cenus

------------------
§1 Alle Tipps und Tricks sind ohne Garantie auf Korrektheit und Vollstaendigkeit.
§2 Es wird von mir keine Haftung fuer etwaige entstandene Schaeden uebernommen.
§3 Des weiteren distanziere ich mich von den von mir bekanntgegebenen Urls und Websites.
------------------
Schaetze das wars, oder habe ich was uebersehen?
cenus ist offline   Mit Zitat antworten
Alt 27.06.2003, 07:13   #4
Tarjan
Quantensingularität
 
Registriert seit: 28.09.2000
Alter: 55
Beiträge: 8.336


Tarjan eine Nachricht über ICQ schicken
Standard

Du kannst beliebig viele Pfade im Classpath setzten, also zB. CLASSPATH = .;C:\MYPROGS;D:\MORECLASSES etc. Der Classpath auf meinen Arbeitsrechner ist 6 Zeilen lang.

Es ist anzuraten den . ,also das eigene Verzeichnis als erstes in den Classpath reinzuschreiben. Die Java VM durchsucht nämlich den Classpath in der angegebenen Reihenfolge bis er die Klasse findet. Und somit wird das aktuelle Verzeichnis zuerst durchsucht. Befindet sich übrigens ein gleichnamiges Class File zwei oder mehrmals im Classpath, so wird das genommen, welches als erstes gefunden wird.
____________________________________
Was ist klein, grün und dreieckig?
Ein kleines grünes Dreieck!


Bahnübergänge sind die härtesten Drogen der Welt! Ein Zug und du bist weg!
Tarjan ist offline   Mit Zitat antworten
Alt 27.06.2003, 21:07   #5
cenus
Elite
 
Benutzerbild von cenus
 
Registriert seit: 07.06.2000
Beiträge: 1.428

Mein Computer

Standard

@Tarjan:
Vielen Dank für deine Hilfe!! Ich werde es gleich ausprobieren.
____________________________________
lg, cenus

------------------
§1 Alle Tipps und Tricks sind ohne Garantie auf Korrektheit und Vollstaendigkeit.
§2 Es wird von mir keine Haftung fuer etwaige entstandene Schaeden uebernommen.
§3 Des weiteren distanziere ich mich von den von mir bekanntgegebenen Urls und Websites.
------------------
Schaetze das wars, oder habe ich was uebersehen?
cenus ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:10 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag