Java的交互式shell如ipython

我对Java相当陌生,想用交互式shell来学习Java,就像我使用IPython进行Python一样。

我已经尝试了几个交互式shell,比如beanshell,jython,jythonconsole和JyConsole。 他们大多没有像IPython那样的选项卡完成。 有没有类似于Java的IPython?

groovysh

http://groovy.codehaus.org/Groovy+Shell

  • 丰富的跨平台编辑行编辑,历史和完成得益于JLine。
  • ANSI颜色(提示,exception痕迹等)。
  • 带有在线帮助,用户别名支持等的简单但强大的命令系统。
  • 用户configuration文件支持

如果你想要一个Java的交互选项,可以使用Dr Java或者JGrasp,它们都提供了和IDLE for python相同的交互选项,同时也是一个完全基于IDE的debugging器,我更喜欢JGrasp给Dr Java。 他们也有Python博士,所以如果你习惯了Java博士,你也可以在Python中使用它。

另外Java博士还有一个function,可以从初学者,中级,高级和完整Java中进行select,以限制您在学习语言时可以使用的语言。 我从来没有使用过这个function,因为我没有看到限制部分语言的重点,但是我想有些老师在教他们的学生的时候使用它。

交互式地使用java可能不会得到太多的使用,因为这种语言强烈地面向编译。 最好的路线可能只是得到一个不错的IDE,比如eclipse ,并开始使用断点和debugging器。

你使用了什么beanshell? 旧的? 看看这个他们声称提供完成

我想我find了一个很好的select:JPype。 JPype允许python程序完全访问java类库。 使用JPype和IPython,我可以使用所有的Java函数,同时为Java类提供非常好的选项卡完成(在类被导入之后)

虽然我同意TokenMacGuy的说法:

最好的路线可能只是得到一个不错的IDE,如日食

因为Im也来自像交互式shell这样的工具是必不可less的环境。 所以我也可以build议你直接从jython / JPype使用像ipython这样的工具。

通过jython的i-freakerbuild议可以实现或使用JPype :

  1. 获取jython (检查其运行的jython -c 'import os; print "Python meets %s" % os.name'
  2. 获取readrline (如果Mac sudo port install readline
  3. 停止从这个博客或jython文档的步骤,以使j ava-readline工作
  4. 所以你现在有readlinejython (在jython中的Ctrl+R结果在reverse-i-search就像你从shell中知道的那样)。 为了得到像你知道的标签完成formsipython休闲从这个博客的步骤
  5. 应该是这样! 如果你需要补丁ipython 0.10你可以从这里得到它 。