Gibt es eine Python-ähnliche interaktive Konsole für Java?

Lesezeit: 3 Minuten

Ich habe in letzter Zeit viel Zeit damit verbracht, in Java zu programmieren, und eine Sache, die ich bei Skriptsprachen vermisse, ist die Möglichkeit, sie in einer Konsole zu testen.

Um ein Java-Programm schnell zu testen, muss ich eine Datei bearbeiten, sie dann in Bytecode umwandeln und ausführen. Selbst mit einer IDE verliert es nach dem 372. Mal seinen Spaß.

Ich würde gerne wissen, ob es ein Produkt gibt, das so etwas wie eine interaktive Konsole (ich wette, Sie brauchen einen JIT-Compiler) und eine Autovervollständigung (mit Relexivität, nehme ich an, dass es möglich ist) bietet.

Vielleicht ist das etwas sehr Häufiges, von dem ich einfach nichts weiß, oder etwas völlig Unmögliches, aber es ist am schlimmsten gefragt 🙂

Benutzer-Avatar
Charly Martin

Ja; JSchaleund davor sind einige enge Annäherungen Groovig, Clojure, Skalaund die Bohnenschale.

  • Einverstanden. Ich benutze BeanShell durch JDE im Emacs; Es ist alles andere als perfekt, aber es bietet eine interaktive Konsole und eine anständige Unterstützung für die Fertigstellung, sowohl in der Konsole als auch beim Bearbeiten Ihrer regulären Java-Dateien.

    – Julian Squires

    24. April 2009 um 20:25 Uhr

  • In der Tat ist es sehr primitiv, aber viel besser als nichts. Vielen Dank an Sie und danke an die Jungs, die es codiert haben 🙂

    – e-Satis

    24. April 2009 um 22:08 Uhr

  • Auch Scala mit Eclipse-IDE-Plugin hat eine interaktive Konsole für die Ausführung im REPL-Stil. Sehen scala-ide.org

    – Hendy Irawan

    12. April 2011 um 17:53 Uhr

  • @JulianSquires: Gibt es irgendwo eine Schritt-für-Schritt-Anleitung?

    – serv-inc

    18. Februar 2018 um 15:16 Uhr

  • Ich habe dieses BeanShell-Setup seit vielen Jahren nicht mehr verwendet. Ich würde davon ausgehen emacswiki.org/emacs/JavaDevelopmentEnvironment wenn ich versuchen würde, es neu einzurichten.

    – Julian Squires

    19. Februar 2018 um 16:11 Uhr

Benutzer-Avatar
Brian Agnew

Witzigerweise bekommt man eine interaktive Konsole mit Jython ! Du verstehst nicht viel eher Python-ähnlich.

  • ein bisschen synthetisch, aber das ist die Antwort, die ich bevorzuge!

    – mariotomo

    26. April 2018 um 22:48 Uhr

Benutzer-Avatar
David Portella

Java-REPL
http://www.javarepl.com/term.html

mit einem intellij-Plugin:
http://plugins.jetbrains.com/plugin/7215?pr=

Versuchen Dr. Javas “Interaktionsbereich”.

JShell ist jetzt Standard in Java 9.
JShell-Einführung

  • Dies ist jetzt (seit November) eine viel bessere Antwort, als es aus den Stimmen hervorgeht, vielleicht sollte sie sogar @e-satis akzeptiert werden.

    – Smeagol

    17. Januar 2018 um 23:50 Uhr


  • wie rufe ich jshell auf?

    – so viel zu lernen und zu teilen

    17. September 2020 um 16:57 Uhr

Benutzer-Avatar
faul

Ein Ansatz, den ich bis zu einem gewissen Grad erfolgreich verwendet habe, ist das Debuggen in Eclipse und die Verwendung der Anzeigeansicht. Die Anzeigeansicht bietet Ihnen die Möglichkeit, den Code, der derzeit in der JVM ausgeführt wird, durch Ausführen von Java-Anweisungen zu manipulieren. Jedes Objekt, das an dem bestimmten Unterbrechungspunkt verfügbar ist, an dem Sie angehalten wurden, befindet sich im Bereich innerhalb der Anzeigeansicht. Dies ist zwar nicht genau das, wonach Sie suchen, bietet jedoch einige der Funktionen, die eine REPL für andere Programmierumgebungen bietet. Sehen Debuggen mit der Eclipse-Plattform für mehr Informationen.

  • Dies ist jetzt (seit November) eine viel bessere Antwort, als es aus den Stimmen hervorgeht, vielleicht sollte sie sogar @e-satis akzeptiert werden.

    – Smeagol

    17. Januar 2018 um 23:50 Uhr


  • wie rufe ich jshell auf?

    – so viel zu lernen und zu teilen

    17. September 2020 um 16:57 Uhr

Benutzer-Avatar
stepancheg

Sie können auch den interaktiven Scala-Interpreter ausführen.

1228240cookie-checkGibt es eine Python-ähnliche interaktive Konsole für Java?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy