Java: Eclipse lässt Programm nicht starten?
Hallo,
ich habe mir gerade Java Eclipse (JDK & IDE), so wie es in einem YouTube-Video beschrieben ist, heruntergeladen und installiert.
Da ich Java lernen möchte, habe ich mal mit dem guten alten Hallo Welt angefangen.
System.out.println("World");
Leider bringt er mir beim Starten einen Fehler, der nun nicht am weltbewegenden Code liegen kann.
Folgende Fehlermeldung bringt mir Eclipse:
An internal error occurred during: "Launching Programm".
null argument:
The project cannot be built until build path errors are resolved
Unbound classpath container: 'JRE System Library [JavaSE-12]' in project 'Testprogramm'
-
Wer kann mir sagen, was ich falsch gemacht habe?
Liebe Grüße
Stefan
2 Antworten
Siehe die zweite Antwort (Autor: Han): https://stackoverflow.com/questions/2083461/unbound-classpath-container-in-eclipse
YEAR der Fehler ist nun behoben. Und man merkt beim Schreiben des Codes, dass er auch schon Vorschläge aus der Bibliothek macht.
Leider bringt er mir jetzt den nächsten Fehler.
Launch configuration ASMifier references non-existing project NeuesProjekt.
Irgendwie hab ich mir das einfacher vorgestellt...
Geh mal im Menü auf Run > Run Configurations. Dort sollte eine Konfiguration namens ASMifier existieren. Wähle für diese die richtigen Daten aus (Projektname und Hauptklasse - also die Klasse, die main beinhaltet). Derzeit verweist der Eintrag wohl auf ein Projekt namens NeuesProjekt, welches nicht existiert.
Danke ja das habe ich Gestern zu später Stunde noch herausgefunden.
Leider bin ich trotzdem noch nicht durch, da erneut ein Fehler kommt.
An internal error occurred during: "Launching ASMifier".
null argument:
https://1drv.ms/u/s!Aop3SUyVIaT_ugTS7sbYQU8Hv_wC?e=J2iMY2
Es ist zum Verzweifeln
Reproduziere den Fehler nochmal und schau dann zusätzlich in das Error Log: https://help.eclipse.org/kepler/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Freference%2Fref-error_log_view.htm - möglicherweise lassen sich so noch mehr Informationen zu diesem Fehler abgreifen.
Hallo nochmal. Ja da steht noch folgendes:
eclipse.buildId=4.13.0.I20190916-1045
java.version=1.8.0_231
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
Framework arguments: -product org.eclipse.epp.package.java.product
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
org.eclipse.jdt.launching
Error
Wed Nov 20 21:39:17 CET 2019
Could not determine Java version for location C:\Program Files\Java\jre1.8.0_231.
hallo nochmal
habe eclipse nochmal installiert. Und noch ein paar Projekteinstellungen angepaast.
Bin nun bei einem Fehler, bei dem ich unter Google nicht mehrweiter gekommen bin..
eclipse.buildId=4.13.0.I20190916-1045
java.version=1.8.0_231
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
Framework arguments: -product org.eclipse.epp.package.java.product
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product
org.eclipse.egit.ui
Warning
Thu Nov 21 23:46:17 CET 2019
Warning: The environment variable HOME is not set. The following directory will be used to store the Git
user global configuration and to define the default location to store repositories: 'C:\Users\fries'. If this is
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
EGit might behave differently since they see different configuration options.
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
Kennt jemand diesen Fehler ?
Hast du denn Git bei dir installiert? Der einfachste Weg wäre es wohl, eine Umgebungsvariable $HOME anzulegen (dort, wo du auch die PATH-Umgebungsvariable für das JDK gesetzt haben müsstest) und ihr den Wert "C:\Users\fries" zu geben. Dann wäre dies das Startverzeichnis für Git und EGit.
Im Bezug zu diesem Kommentar: Das war, so denke ich, nicht das Problem. Ich schätze mal, du hattest irgendwo noch einen falschen Pfad gesetzt.
In Windows: Rechtsklick auf Arbeitsplatz bzw. Computer > Eigenschaften > Erweiterte Systemeinstellungen (linke Leiste) > Umgebungsvariablen (Button). Obige Liste stellt die Variablen für deinen aktuellen Nutzer, die untere Liste stellt sie für alle Benutzerkonten. Praktisch betrachtet ist es egal, ob du die Variable oben oder unten anlegst.
Nirgendwo.
Ich sehe, dass ich dich noch nicht über Git näher aufgeklärt habe. Dies ist ein Versionsverwaltungstool. Dies eignet sich bei Projekten ganz gut, denn jede Änderung am Code kann unter einer Versionsnummer gespeichert werden. Baut man Mist, springt man einfach eine Version wieder zurück und hat wieder einen funktionsfähigen Stand. Du kannst dir also einen permantenen Verlauf erstellen, der dir dann später Auskunft darüber geben kann, wann du wo etwas in einem Projekt geändert hast.
Git selbst ist ein von Eclipse unabhängiges Tool. Eclipse wiederum aber hat ein Tool namens EGit eingebaut, welches dafür sorgen soll, so ein Git-Versionssystem in Eclipse als Feature zu integrieren und zusätzliche Funktionen anzubieten. Damit EGit wirklich Git überschreiben würde, wäre denn Git bei dir installiert, wäre es natürlich praktisch, wenn beide Tools bspw. auf den selben Pfad fokussiert wären.
Git würde im Standardfall die HOME-Umgebungsvariable auf Windows suchen und den dort eingetragenen Dateipfad auslesen, um diesen zu nutzen. EGit wiederum hat vermutlich irgendwo seine eigene Konfigurationsdatei (ich habe mich bisher noch nie mit EGit auseinandergesetzt; kann man ganz sicher in der Eclipse-Dokumentation nachschlagen).
Der Fix für dich war nun der, dass wir die HOME-Umgebungsvariable noch in Windows ergänzt haben, und sie vorsorglich auf das gleiche Verzeichnis schauen lassen, auf das EGit bereits konfiguriert ist. (Wie oben angedeutet, man könnte es auch andersherum machen - in HOME ein Verzeichnis vorgeben und das in Eclipse irgendwo angleichen).
Tatsächlich relevant ist dies für dich momentan noch nicht - du hast ja (vermutlich) noch kein Git. Eclipse wollte mit der Warnung (es ist kein Fehler!) ja lediglich einen möglichen Fehler vorbeugen. Es wäre ja doof, wenn du dir Git installierst und dich dann irgendwann einmal wundert, wieso es da Missverhältnisse zwischen EGit und Git gibt.
Die Warnung hättest du ebenso lösen können, indem du den Hinweis durchgeführt hättest, der in der Warnung dazu steht:
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page
Ich denke aber, das Problem sollte so nun auch erst einmal vom Tisch sein.
Danke für die GIT Erklärung . Hast du super erklärt.
Ich denke da brauch ich noch Jahre bis ich soweit bin, dass ich mal ganze Programme schreiben kann. Wenn ich schon 1 Woche für die Installation benötige :-)
Ich hätte noch eine Frage wenn das nicht mittlerweile zu unverschämt ist.
Wenn ich den grünen Button mit run Programm mache zeigt er mir das Hello World in der Console nicht an. Erst wenn ich das Programm debugge. Das ist doch auch noch nicht ganz ok, oder? Ich dachte mit run erscheint der Text bereits. Könnte da doch noch ein Wurm in den Einstellungen sein?
Nein, unverschämt es nicht. Ich möchte auch meinen, dass Java Setups schon einmal leichter waren.
Neben dem Run-Button gibt es ja noch einen Pfeil zum Ausklappen eines Menüs. Taucht dort ein Eintrag für dein Projekt auf? Unter Run Configurations könntest du dir im Java Application-Knoten eine eigene Konfiguration erstellen (Rechtsklick > New). Dort im Tab Main füllst du Projekt und Main Class (das ist die Startklasse mit der main-Methode) aus, im JRE-Tab ist vermutlich der erste Punkt (JRE 1.8 ...) selektiert und im ClassPath Tab habe ich hier bspw. stehen: Bootstrap Entries > JRE für 1.8, auf User Entries solltest du deinen Projektordner hinzufügen (Add Projects).
Wenn das auch nichts bringt, würde ich vermutlich eine der folgenden Perspektiven in Betracht ziehen:
- Konkrete Anfrage beim Eclipse Support (vielleicht lässt sich da das Problem schneller und gezielter lösen)
- Eine andere IDE wählen. IntelliJ IDEA oder Apache NetBeans bieten sich an. Erstere würde ich momentan wohl vorziehen, denn NetBeans befindet sich derzeit irgendwie gefühlt immer noch in einer Umbruchsphase (die Entwicklung der IDE wurde vor einiger Zeit von Apache übernommen).
- Du nutzt für den Anfang die Konsole zum Kompilieren und Ausführen (sollte man eh schon einmal gemacht haben).
Ich fände es jedenfalls falsch, noch weitere Tage herumzumorkeln. Das verdirbt dir ja eher die Laune und irgendwann assoziierst du Java mit etwas Schlechtem.
Zur Kompilierung mit der Konsole: Richte dir zunächst einmal die PATH-Umgebungsvariable ein. Orientiere dich dazu an folgender älterer Antwort von mir: https://www.gutefrage.net/frage/java-sdk-was-mache-ich-falsch?foundIn=list-answers-by-user#answer-265186027
Es ist im Grunde fast so wie bei der HOME-Variable, nur dass sie diesmal PATH heißt und diesmal der Pfad des JDK bin-Folders angehängt wird. Sollte es in der PATH-Variable bereits Pfade zu einem JDK geben, nimm erst einmal keine Änderung vor.
Eine genauere Erklärung, was Umgebungsvariablen sind, kannst du hier nachlesen. Wie man mit Java kompiliert und das Programm ausführt, steht hier. Wenn du mehrere Dateien hast, reicht es dennoch, nur die Hautpklasse für den Compiler anzugeben, dieser zieht sich selbst die benötigten Klassen, sofern ihr Identifier (packageName.className) in den jeweiligen Dateien importiert werden.
Argumente für das args-Array lassen sich auch einfach anhängen. Ein Beispiel mit fünf Argumenten:
java YourMainClass "someArgument" 1 2 3 "other argument"
Sie werden alle als Zeichenketten interpretiert, auch wenn die Zahlen hier ohne Anführungszeichen mitgegeben werden.
Rechtsklick auf die Klasse mit der main Methode - Run as Java Applikation ( oder so ähnlich)
Sollte eigentlich funktionieren...
Danke erstmal für die Rückmeldung.
Mit der Antwort hast du mich abgehängt. Liegt daran, weil ich Java zum ersten mal mache. Was genau meinst du?
public class Programm {
public static void main(String[] args) {
System.out.println("World");
}
}
Ich drücke die Taste "Run Programm" (weißer Pfeil im grünen Kreis)
OK, nun nochmal: normalerweise gibt es eine Menüpunkt im Kontextmenü der "Java Applications ..." lautet. Da sollte dann ein Dialog aufgehen bei dem man dann die JRE auswählen kann (Run Configuration), mit der das Programm gestartet wird - meist funktioniert die oberste Option.
Ansonsten musst du Eclipse sagen, wo sich eine JRE befindet...
OK, bei der gewählten JRE steht "undefined" - das klingt nicht gut.
Schau, ob du unter der 3. Option eine JRE siehst. Ansonsten mit "installed JREs" eine JRE definieren (eine neue Anlegen und den Pfad auf das Java Verzeichnis setzen, das du hoffentlich installiert hast)
Guten Morgen - sorry gestern ist es mir zu spät geworden...
Ich glaube, ich war auf der falschen Spur...
Nun mal Rechtsklick auf das Projekt - Properties - Java Build Path - Libraries
Da sollte ein Eintrag JRE System Library [gültige JRE] drinnen stehen.
Wenn das als Fehlerhaft markiert ist, eine gültige JRE konfigurieren.
Guten Morgen. Danke ja das habe ich Gestern zu später Stunde noch herausgefunden.
Leider bin ich trotzdem noch nicht durch, da erneut ein Fehler kommt.
An internal error occurred during: "Launching ASMifier".
null argument:
https://1drv.ms/u/s!Aop3SUyVIaT_ugTS7sbYQU8Hv_wC?e=J2iMY2
Es ist zum Verzweifeln
Wenn du das meinst
Import the project's files without the "project file"
dann weiß ich leider noch nicht was damit gemeint ist.
Version 1.5 über den LInk nicht vorhanden
Ist auf jeden Fall das selbe Problem :-)