![](/img/trans.png)
[英]How can I obtain an interactive shell (like Ruby's irb) for Java?
[英]Java's interactive shell like ipython
我對 Java 很陌生,想使用交互式 shell 學習 Java,就像我使用 IPython 學習 Python 一樣。
我嘗試了一些交互式 shell,例如 beanshell、jython、jythonconsole 和 JyConsole。 他們中的大多數沒有像 IPython 那樣的選項卡完成功能。 有沒有類似於 java 的 IPython 的東西?
常規:
http://groovy.codehaus.org/Groovy+Shell
如果您想要與 java 一起使用的交互式選項,請嘗試使用 Dr Java 或 JGrasp,它們都提供與用於 Python 的 IDLE 相同的交互式選項,而且作為帶有調試器的完全基於 IDE,我更喜歡 JGrasp 而非 Dr Java。 他們還有一個 Dr Python,所以如果你習慣了 Dr Java,你也可以將它與 Python 一起使用。
此外,Java 博士還有一項功能,您可以在其中選擇初級、中級、高級和完整的 Java,以限制您在學習該語言時可以使用的內容。 我從不使用該功能,因為我不認為限制部分語言的意義,但我猜有些老師在教學生時會使用它。
您可能不會從交互式使用 java 中得到太多好處,因為該語言強烈地面向編譯。 最好的方法可能只是獲得一個不錯的 IDE,比如eclipse ,然后開始使用斷點和調試器。
Gayan Weerakutti 已經在評論中提到我認為應該是正確答案:JShell 從版本 9 開始就是 JDK 的一部分。在您的終端上嘗試jshell
。 查看Oracle 提供的有關它的文檔。
你用的是什么豆殼? 舊的? 看看這個他們聲稱提供完成
我想我找到了一個足夠好的替代品:JPype。 JPype 允許 python 程序完全訪問 java 類庫。 使用 JPype 和 IPython,我可以使用所有 java 函數,同時為 java 類提供非常好的 tab 補全。(雖然在導入類之后)
雖然我同意TokenMacGuy 的說法:
最好的方法可能只是得到一個不錯的 IDE,比如 eclipse因為我也來自交互式 shell 之類的工具必不可少的環境。 所以我也可以建議你直接從jython /JPype 使用像ipython這樣的工具。
這可以通過 jython 的i-freaker建議或使用JPype來實現:
jython
(檢查其正在運行的jython -c 'import os; print "Python meets %s" % os.name'
)readrline
(如果 Mac sudo port install readline
)ava-readline
工作readline
的jython
(jython 中的Ctrl+R
導致reverse-i-search
就像你從 shell 知道的那樣)。 為了像您所知道的ipython
從ipython
獲得制表符完成,請執行此博客中的步驟看看https://github.com/Bachmann1234/java9_kernel你可以為 IPython 安裝一個 Java 內核並使用它(也通過筆記本)。
IntelliJ IDEA 有一個帶有選項卡完成功能的 groovy 控制台。
打開它:工具 -> Groovy 控制台...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.