Wenn ich einen Code ausführe, versucht anscheinend IntelliJ alles aus dem Projekt auszuführen. Wenn also irgendwo in einer Klasse ein Fehler ist, dann verweist er auf diese Fehler und lässt der "gesunde" Code nicht ausführen, selbst wenn die Klassen nichts miteinander zu tun haben. Früher gabs das Problem nicht (habe seit einem Jahr nicht programmiert). Bitte um die Hilfe.
Du kannst in den Settings unter Build, Execution, Deployment -> Compiler -> Java Compiler den zu nutzenden Compiler von javac auf Eclipse stellen. Dann hast Du auch die Option: Proceed on errors.
Vielleicht noch ein paar zusätzliche Anmerkungen:
- Auch mit der Einstellung ist die Einstellung beim Ausführen erst einmal, dass er ein Build machen soll. Das wäre dann noch raus zu nehmen.
- Die Einstellung, dass automatisch bei Änderungen übersetzt werden soll, wäre dann auch sinnvoll.
Aber das sind dann nur Dinge, die in der IDE halbwegs funktionieren. Ich halte davon so eigentlich nichts, denn ich bevorzuge Projekte, die IDE unabhängig sind und die dann mit Maven oder Gradle laufen. Und ich bin absolut kein Fan davon, etwas in einen Zustand zu bringen, der nicht übersetzbar ist. Irgendwo eine Klasse nicht übersetzbar zu haben und aber an anderer Stelle etwas laufen lassen zu wollen deutet zumindest darauf hin, dass Du mehr als eine Baustelle hast. Sowas sollte man meiner Meinung nach - so es irgendwie geht - immer vermeiden!
Daher habe ich mit diesen Settings keine große Erfahrungen gesammelt. Aber meine Tests eben waren diesbezüglich erfolgreich.
Du kannst in den Settings unter Build, Execution, Deployment -> Compiler -> Java Compiler den zu nutzenden Compiler von javac auf Eclipse stellen. Dann hast Du auch die Option: Proceed on errors.
Danke für den Vorschlag. Es hilft leider nicht. Also ist noch schlimmer geworden, jetzt wird zwei Fehlern angezeigt:
1) Error:java: java.lang.IllegalArgumentException: source level should be comprised in between '1.3' and '1.9' (or '5', '5.0', ..., '9' or '9.0'): 12
2) Error:java: source level should be comprised in between '1.3' and '1.9' (or '5', '5.0', ..., '9' or '9.0'): 12
und lässt sich gar nichts ausführen, selbst wenn ich den fehlerhaften Code auskommentiere.
Vielleicht noch ein paar zusätzliche Anmerkungen:
- Auch mit der Einstellung ist die Einstellung beim Ausführen erst einmal, dass er ein Build machen soll. Das wäre dann noch raus zu nehmen.
- Die Einstellung, dass automatisch bei Änderungen übersetzt werden soll, wäre dann auch sinnvoll.
Aber das sind dann nur Dinge, die in der IDE halbwegs funktionieren. Ich halte davon so eigentlich nichts, denn ich bevorzuge Projekte, die IDE unabhängig sind und die dann mit Maven oder Gradle laufen. Und ich bin absolut kein Fan davon, etwas in einen Zustand zu bringen, der nicht übersetzbar ist. Irgendwo eine Klasse nicht übersetzbar zu haben und aber an anderer Stelle etwas laufen lassen zu wollen deutet zumindest darauf hin, dass Du mehr als eine Baustelle hast. Sowas sollte man meiner Meinung nach - so es irgendwie geht - immer vermeiden!
Daher habe ich mit diesen Settings keine große Erfahrungen gesammelt. Aber meine Tests eben waren diesbezüglich erfolgreich.
Ich bin noch Anfänger und mache viel Fehler. Deswegen gibt es bei mir leider nur noch Baustellen )
Ich würde natürlich gerne den Code ohne Fehler schreiben nun es geht leider noch nicht. Deswegen lasst man ein oder andere Klasse so wie es ist stehen bis man schlauer wird. Kann doch nicht war sein, dass ich deswegen kein andere Kode bei IDE ausführen darf. Ist doch totales absurd finde ich.
Dann hast Du einen eclipse compiler integriert, der nur bis Java 9 kann und Du willst auch java 12 Dinge nutzen. Wenn Du nur Features von Java 9 und drunter nutzt, dann kannst Du das in Deinem Projekt setzen (Modul-Settings -> Project: Project Language Level auf 9 setzen).
IntelliJ bringt den Eclipse Compiler mit. Du hast vermutlich ein älteres IntelliJ. So Dir language Level 12 reicht, kannst Du die neueste IntelliJ Version installieren. Da unterstützt der Eclipse Compiler bis 14.
Ich bin noch Anfänger und mache viel Fehler. Deswegen gibt es bei mir leider nur noch Baustellen )
Ich würde natürlich gerne den Code ohne Fehler schreiben nun es geht leider noch nicht. Deswegen lasst man ein oder andere Klasse so wie es ist stehen bis man schlauer wird. Kann doch nicht war sein, dass ich deswegen kein andere Kode bei IDE ausführen darf. Ist doch totales absurd finde ich.
In einem Projekt würde ich dennoch immer einen lauffähigen Stand halten - auch als Anfänger. Wenn Du an mehreren Dingen arbeitest, dann klingt das nach mehreren Projekten. (Weil die Dinge unabhängig voneinander sind!).
Du kannst ja beliebig viele Projekte haben. Oder pack es in nur ein Projekt aber in unterschiedliche Module. Dann kannst Du einzelne Module bauen und auch starten.
Dann hast Du einen eclipse compiler integriert, der nur bis Java 9 kann und Du willst auch java 12 Dinge nutzen. Wenn Du nur Features von Java 9 und drunter nutzt, dann kannst Du das in Deinem Projekt setzen (Modul-Settings -> Project: Project Language Level auf 9 setzen).
IntelliJ bringt den Eclipse Compiler mit. Du hast vermutlich ein älteres IntelliJ. So Dir language Level 12 reicht, kannst Du die neueste IntelliJ Version installieren. Da unterstützt der Eclipse Compiler bis 14.
In einem Projekt würde ich dennoch immer einen lauffähigen Stand halten - auch als Anfänger. Wenn Du an mehreren Dingen arbeitest, dann klingt das nach mehreren Projekten. (Weil die Dinge unabhängig voneinander sind!).
Du kannst ja beliebig viele Projekte haben. Oder pack es in nur ein Projekt aber in unterschiedliche Module. Dann kannst Du einzelne Module bauen und auch starten.
Es sind keine richtige Projekte ), lediglich die Aufgaben von einem Kurs, wo ich mich momentan befinde und wenn ich nicht weiterkomme bei Aufgabe A, dann gehe ich halt zu Aufgabe B. Verstehe es trotzdem nicht warum IntelliJ so drastisch meckert, wobei früher ging es problemlos.
Also IntelliJ ist aktuell bei 2021.2.1 - Deine Version ist von 2019 und das sind dann um 2 Jahre. Und 2019 waren die Releases von Java 12 und 13 ... Was dann auch erklärt, dass es da in der Unterstützung etwas mehr hinterher hinkt.
Wenn ein Code Teil noch nicht fertig ist und deswegen Fehler wirft, dann kommentiert man ihn halt aus. Ein project zu starten das beim Compilieren Fehler wirft halte ich für ziemlichen blödsinn
Also IntelliJ ist aktuell bei 2021.2.1 - Deine Version ist von 2019 und das sind dann um 2 Jahre. Und 2019 waren die Releases von Java 12 und 13 ... Was dann auch erklärt, dass es da in der Unterstützung etwas mehr hinterher hinkt.
Also IntelliJ wird auch früher gemeckert haben. Da wirst Du maximal beim Build dann sagen können: "Trotzdem starten".
Aber das Verhalten kannst Du auch etwas erzwingen:
- Compiler kann dann auch der javac bleiben
- In der Run Configuration stellst Du ein, dass er beim run kein Build machen soll.
-> Jetzt liegt es in Deiner Verantwortung, dass Klassen übersetzt werden. (Sprich: Nutz das Build -> recompile für die geänderte Klasse!)
Ein Build des Projekts alleine kann aber muss nicht ausreichen. Wenn die andere Klasse ein Build abbrechen lässt, dann ist das class File alt.
==> Hier rate ich dir aber wirklich von ab! Du veränderst Klassen und beim Ausführen wird weiter alter Kram ausgeführt. Gerade als Anfänger sind solche Stolpersteine alles Andere als gut!