Ich gebe zu überhaupt keine Ahnung von Java zu haben, wollte aber trotzdem eimal "Hello World" mit Eclipse compilieren.
das Programm lautet natürlich:
class HelloWorldApp { public static void main(String[] args) {
System.out.println("Hello World!"); } }
und es wird auch eine class-Datei HelloWorldApp.class erstellt.
Doch wenn ich diese mit "java.exe HelloWorld.class" aufrufe kommt die Meldung
"Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld/class"
Was mache ich falsch und wie bekomme ich später in der IDE mehrere bestehende *.java-Dateien in ein Projekt übernommen, ohne die neu zu benennen und die existierenden Quellcodes von Hand einzeln über die Zwischenablage hereinzukopieren (bei VC++ geht das ja einfach über "Dateien zu Ordner hinzufügen") ?
Wenn du Eclipse benutzt brauchst du nicht mehr java MeineKlasse einzutippen :wink:
Java Dateien kann man entweder über die Import Funktion einfügen, oder per Drag'n'Drop
Also wenn ich "java.exe HelloWorld" ohne das ".class" eingebe kommt die DOS-Meldung:
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld
Keine Ahnung, ob das Programm schon fehlerhaft compiliert wurde, oder ob der DOS-Aufruf falsch ist.
Und beim Drag-and Dropp der .java-Dateien kommt bei Eclipse die unglaublich hilfreiche Meldung
"Problems occured by copying the selected sources"
Auch bei Import: "Problems were encountered during Import"
Laut dem von dir geposteten Code heißt die Klasse aber nicht HelloWorld, sondern HelloWorldApp.
Der Name der Klasse muss mit dem Dateinamen übereinstimmen.
>>"Problems occured by copying the selected sources"
???:L
Ziehst du die Klassen auch in ein bestehendes Projekt, und hast du auch nicht einfach was von ausserhalb in den Workspace kopiert ohne das Eclipse was davon mitgekriegt hat?
>>Ganz schön komliziert, dieses Java...
Hast du dir schon mal C angesehen? :wink:
Die Dateien habe ich jetzt noch einmal anders zum Projekt hinzugefügt (wenigstens das klappt jetzt scheinbar).
Wenn ich nun compilieren will fragt mich eclipse immer "Select Type **" und gibt ein langes Listenfeld an. Wähle dann immer HelloWorldApp aus.
Doch dann kommt eine Messagebox "could not find the main class. Programm will exit."
Bei Java-Programmen sehe ich übrigens manchmal z.B. den Aufruf
"java -classpath classes\ -Xmx400m HelloWorldApp.HelloWorldApp"
oder so ähnlich (keine Ahnung wie das läuft).
Mir alles zu komliziert. Arbeite seit 8 Jahren mit VC++6.0 und da bleibe ich auch bei (weil ich heute Nacht eine Lösung in C++ für mein Problem gefunden habe und so nicht hunderte von langsamen Java-Classen übersetzen muß).
Wenn ich aber in den nächsten Jahren doch noch einmal Langeweile haben sollte, greife ich das Thema hier wieder auf ;-)
Machs einfach so, wird für die paar Zeilen code null problemo sein.
Erstell dir einfach ein neus Project: New/Project/next/ Name eingeben: HelloWorld; dann im project ne neue Classe erstellen mit einem rechtsklick auf das Package( in deinem fall ist es default) und die Classe dann HelloWorldApp bennen.
Darauf den Coda in die Classe kopieren und mit einem rechtsklick in die klasse, da Menü öffnen, Run as...Java Application wählen/anklicken und schon läuft dein Programm.