Java unter CYGWIN Problem

M

matzeed7

Mitglied
Hallo,

ich versuche gerade java unter cygwin zum laufen zu bekommen,
aber das hello worl prog will einfach net starten. bei der installation bin ich wie folgt vorgegangen:

java jdk 1.6 installiert und dann die umgebungsvariable mit dem javapath erweitert

in der cygwin shell konnte ich dann mit folgenden befehlen, java testen
zb brachte javac -version die antwort javac 1.6.0 und für den test des RE habe ich java -version eingegeben und erhielt java Runtime Environment (build 1.6.0....) und java HotSpotclientVM(build 1.6.0....)

danach habe ich dann folgende datei : Hello.java
Code:
public class Hello 
{ 

    public static void main (String argv[]) 
    { 
        System.out.println("Hello World!"); 
    } 
}

mit javac Hello.java übersetzt und wollte diese mit java Hello.class starten,
jedoch kam folgende fehlermeldung

$ java Hello.class
java.lang.NoClassDefFoundError: Hello/class
Exception in thread "main"



Wenn ich aber das selbe hello world prog untereclipse stafordeungrte und das dann ausführe, geht das ohne probleme


danach testete ich noch direkt in der Winxp eingabeaufforderung, kam aber zum selben ergebnis mit den selben fehlermeldungen

ich hoffe es kann mir wer helfen!!!!

Gruss Matze
 
Hallo,

mach mal:

$ java Hello

im Verzeichnis in dem sich Hello.class befindet, ansonsten CLASSPATH entsprechend setzen.
 
wie leutet den der richtige CLASSPATH bzw was ist das überhaupt()sinn/zweck??)
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

Wie kann man sich den den existirenden classpath anzeigen lassen
 
Zuletzt bearbeitet:
Lies dir doch erstmal die Grundlagen durch.

Das

$ java Hello.class
java.lang.NoClassDefFoundError: Hello/class

ist ein klassischer Java-Anfängerfehler.

Class-Dateien werden ohne die ".class" - Endung aufgerufen.

Und den classpath kriegst du über

Code:
echo CLASSPATH
 
wenn ich java Hello eingebe kommt der selbe fehler

mit echo CLASSPATH kommt als antwort nur CLASSPATH

wo kann man sich den da belesen????
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

hab jetzt noch mal nachgelesen
den CLASSPATH bekommt man mit echo $CLASSPATH und der ist bei mir
$ echo $CLASSPATH
C:\Programme\Java\jdk1.6.0\bin
ob das richtig ist weis ich net, bin mir auch immer noch nicht ganz sicher was der machen soll?


EDIT

muss man einzelne dateien in den classpath schreiben und wenn ja welche werden benötigt
 
Zuletzt bearbeitet:
Hi,

schau mal z.B. hier: http://jikes.sourceforge.net/faq/user-index.shtml#jikespath
Pfad zur rt.jar sollte früher immer drin sein. Der "." ist für das aktuelle Verzeichnis. Wichtig, sonst kannst keine Programme per "java" starten. Bei der Version 1.6 ist ganz neu der * beim Classpath. Vorher musste man alle Jar's einzeln im Classpath aufführen, dadurch konnte der auch schon mal elend lang werden. Also wenn Du viele externe Jars hast, kannst die nun in ein Verzeichnis kopieren und dann zum classpath "deinVerzeichnisMitJars\*" machen.

So, hoffe das hilft Dir weiter.

Liebe Grüße, neq

edit: hier noch ein paar links zum java lernen:
http://home.arcor.de/to/tomtomweb/javabook/k100082.html#bedeutungpaketnamen
-> kann auch hier runtergeladen werden: http://www.javabuch.de/
Auch nicht schlecht: http://www.galileocomputing.de/katalog/openbook?GalileoSession=59828036A2.pfltwl5Q

Warum willst Du überhaupt Javaanwendungen unter Cygwin zum laufen bekommen?
 
Zuletzt bearbeitet:
danke erst mal

da die javaanwendungen in verbindung mit anderen linux progs auch auf windows laufen sollten!!! ob das nun sinnvoll ist weis ich noch nicht, aber vollstandigkeitshalber wollte ich Xp mit verwenden, haupsächlich soll
mein projekt aber auf linux bzw unix laufen

gruss matze
 
dann solltest du aber direkt unter einer gnu/linux-distribution testen. cygwin ist mehr als ersatz fuer die bash unter windows gedacht und gerade fuer testzwecke obs unter gnu/linux laufen soll nicht geeignet.
 

Ähnliche Themen

Problem beim Kompilieren von C++ Code in Cygwin

Startproblem

Java-Programmier-Problem

Java Development Kit Installation

die liebe kommandozeile...

Zurück
Oben