Java的交互式shell就像ipython一样

时间:2009-06-06 01:51:06

标签: java shell

我是Java的新手,想要使用交互式shell学习Java,就像我使用IPython一样使用Python。

我尝试了一些交互式shell,例如beanshell,jython,jythonconsole和JyConsole。他们中的大多数没有像IPython那样的标签完成。有没有类似于IPython for java的东西?

9 个答案:

答案 0 :(得分:9)

如果你想要一个用于java的交互式选项尝试使用Dr Java或JGrasp,它们都提供与IDLE for python相同的交互选项,还有一个带有调试器的完全基于IDE的我更喜欢JGrasp到Java。他们还有一个Dr Python,所以如果你习惯了Java博士,你也可以将它用于Python。

Java博士还提供了一个功能,您可以从中选择初学者,中级,高级和完整Java,以限制在学习语言时可以使用的语言。我从来没有使用过这个功能,因为我没有看到限制langaue部分的重点,但我想有些老师在教导学生的同时使用它。

答案 1 :(得分:9)

<强> groovysh

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

  • 借助JLine,丰富的跨平台编辑行编辑,历史记录和完成。
  • ANSI颜色(提示,异常跟踪等)。
  • 简单而强大的命令系统,包括在线帮助,用户别名支持等。
  • 用户个人资料支持

答案 2 :(得分:8)

您可能不会在交互式使用java时获得太多用处,因为该语言非常注重编译。最好的路径可能只是得到一个很好的IDE,比如eclipse,并开始使用断点和调试器。

答案 3 :(得分:3)

你用过什么豆壳?旧的? 看看this 他们声称提供完成

答案 4 :(得分:2)

我认为我找到了一个足够好的选择:JPype。 JPype允许python程序具有对java类库的完全访问权限。使用JPype和IPython,我可以使用所有java函数,同时为java类提供非常好的制表符。(虽然导入了类之后)

答案 5 :(得分:1)

虽然我同意 TokenMacGuy 说:

最好的路线可能只是得到一个不错的IDE,比如eclipse
因为我也来自环境,其中交互式外壳等工具是必不可少的。因此,我建议您直接使用ipython / JPype中的jython工具。

可以通过jython的 i-freaker 建议实现或使用JPype

  1. 获取jython(检查其正在运行jython -c 'import os; print "Python meets %s" % os.name'
  2. 获取readrline(如果是Mac sudo port install readline
  3. this blogjython documentation抓取步骤使j ava-readline工作
  4. 所以你现在jython只有readlineCtrl+R在jython中导致reverse-i-search就像你从shell中知道的那样。为了获得标签完成功能,您知道从ipython开始执行{{1}}
  5. 那应该是它!如果您需要ipython 0.10的补丁,您可以this blog

答案 6 :(得分:1)

Gayan Weerakutti在评论中已经提到了我认为也是正确的答案: 自版本9起,JShell就成为JDK的一部分。 在您的终端上尝试jshell。 检出docs from Oracle about it

答案 7 :(得分:0)

看看https://github.com/Bachmann1234/java9_kernel你可以为IPython安装Java内核并使用它(也可以通过笔记本电脑)。

答案 8 :(得分:0)

IntelliJ IDEA具有一个带有选项卡补全功能的常规控制台。

打开它:工具-> Groovy控制台...