Java是否有类似Python的交互式控制台?


76

最近,我花了很多时间用Java进行编程,而脚本语言让我想念的一件事是能够在控制台中对其进行测试。

为了快速测试Java程序,我必须编辑一个文件,然后将其转换为字节码并执行它。即使使用IDE,在第372次之后它也会失去乐趣。

我想知道是否有一款产品具有交互式控制台(我敢打赌您需要一个JIT编译器)和一些自动补全功能(具有灵活性,我想这可能)。

也许这是我不知道的非常普遍的事情,或者完全不可能的事情,但是最糟糕的问题是:-)

Answers:


54

是; jshell,在此之前非常接近的是GroovyClojureScalaBean Shell


1
同意 我通过emacs中的JDE使用BeanShell 。它远非完美,但它在控制台中以及在编辑常规Java文件时都提供了一个交互式控制台和不错的完成支持。
朱利安·斯奎尔

确实,这非常原始,但总比没有好。谢谢,也感谢编码的人:-)
e-satis

3
此外,具有Eclipse IDE插件的Scala具有用于REPL样式执行的交互式控制台。参见scala-ide.org
Hendy Irawan

@JulianSquires:哪里有循序渐进的步骤?
serv-inc

我已经很多年没有使用BeanShell设置了。如果要重新设置它,我将从emacswiki.org/emacs/JavaDevelopmentEnvironment开始。
朱利安·斯奎尔



9

尝试Java博士的“交互窗格”。


是的,我真的很想念它。现在我改用Eclipse,但是我不知道如何在Eclipse中获得交互面板。
东尼·陈


5

我曾经获得某种程度成功的一种方法是在Eclipse中调试并使用显示视图。通过显示视图,您可以通过执行Java语句来操纵JVM中当前正在运行的代码。在您停靠的特定断点处可用的任何对象都在显示视图的范围内。尽管这并不是您要找的东西,但它确实提供了REPL为其他编程环境提供的某些功能。有关更多信息,请参见使用Eclipse平台进行调试


我仍然更喜欢Scala IDE Eclipse插件,但是当不需要安装插件时,Debug方法是最接近REPL解释器的方法,这是Eclipse JDT中的内置“功能”。:)
Hendy Irawan

如何从显示视图显示表达式的值?例如,如果我写这样的东西:String s =“ Hello World”,s1 = s.substring(3,5); 如何知道s1的值?我找不到办法
zakmck 2012年

您可以突出显示s1然后弹出上下文菜单。那里有一个标记为Display可以完成您想要的操作的条目。
laz 2012年




1

Jgrasp IDE有一个交互式控制台,您可以在其中进行测试,我经常使用它,并且还存在一个调试视图,其中显示了variabel等,在您声明了它们之后。

它是opensoruce,您可以在http://www.jgrasp.org/上获得副本

//安德斯


我环顾了JGrasp,但找不到交互式控制台
Casebash 2010年

0

我偶尔会遇到相同的问题,并提供部分解决方案。我随手携带一个文件(正如查理·马丁(Charlie Martin)所说,Java需要它的类上下文),不过它只是一个测试程序。在第二个窗口(控制台)中,我运行了一个脚本,该脚本每隔一两秒钟检查一次源文件的修改时间。当看到源更改时,它会重新编译它(我通常是在C语言中摆弄,但是我也已经用Java完成了此操作)并执行结果。

这不是一个很好的解决方案,但是它是一种快速的一次性解决方案,我发现它非常有用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.