web-dev-qa-db-fra.com

Existe-t-il une console interactive de type Python pour Java?

J'ai passé beaucoup de temps à programmer en Java récemment, et une chose qui me manque dans les langages de script était la possibilité de les tester dans une console.

Pour tester rapidement un programme Java, je dois éditer un fichier, puis le transformer en bytecode et l'exécuter. Même en utilisant un IDE, il perd son plaisir après la 372 ème fois.

Je voudrais savoir s'il existe un produit qui présente quelque chose comme une console interactive (je parie que vous avez besoin d'un compilateur JIT) et une certaine autocomplétion (avec relexivité, je suppose que c'est possible).

C'est peut-être quelque chose de très courant que je ne connais pas ou quelque chose de complètement impossible, mais sa pire demande :-)

71
e-satis

Oui; jshell , et avant cela, certaines approximations proches sont Groovy , Clojure , Scala , et le Bean Shell .

43
Charlie Martin

Curieusement, vous obtenez une console interactive avec Jython ! Vous n'obtenez pas beaucoup plus de type Python.

13
Brian Agnew
12
David Portabella

Essayez Dr Java's "Volet d'interaction".

9
Harry

JShell est désormais standard dans Java 9. introduction de JShell

6
user2144406

Une approche que j'ai utilisée avec un certain succès est de déboguer dans Eclipse et d'utiliser la vue d'affichage. Ce que la vue d'affichage vous donne, c'est la possibilité de manipuler le code en cours d'exécution dans la JVM en exécutant les instructions Java. Tout objet disponible au point d'arrêt particulier où vous êtes arrêté se trouve dans la portée de l'affichage Bien que ce ne soit pas exactement ce que vous recherchez, il fournit certaines des fonctionnalités qu'un REPL fournit pour d'autres environnements de programmation. Voir Débogage avec la plate-forme Eclipse = pour plus d'informations.

4
laz

Vous pouvez également exécuter Scala interpréteur interactif.

4
stepancheg

Vous pouvez utiliser BeanShell pour exécuter un code arbitraire Java code. Si vous souhaitez l'intégration Eclipse, EclipseShell prend en charge BeanShell.

2
neu242

Vous pouvez être intéressé par Groovy .

2
Patrick McDaniel

Jgrasp IDE ont une console interactive où vous pouvez tester, je l'utilise beaucoup, et il y a aussi une vue de débogage montrant variabel etc. après les avoir déclarés.

C'est opensoruce et vous pouvez en obtenir une copie att http://www.jgrasp.org/

// Anders

1
Anders

J'ai parfois rencontré le même problème et j'ai une solution partielle. Je garde autour d'un fichier (comme l'a dit Charlie Martin, Java a besoin de ses contextes de classe) qui n'est guère plus qu'un programme de test. Dans une deuxième fenêtre - une console - j'ai un script que j'exécute qui vérifie simplement l'heure de modification du fichier source toutes les secondes ou deux. Lorsqu'il voit le changement de source, il le recompile (je joue généralement en C, mais je l'ai fait aussi avec Java) et exécute le résultat.

Ce n'est pas une excellente solution, mais c'est une solution ponctuelle rapide et je l'ai trouvée très utile.

0
Sniggerfardimungus