【问题标题】:Interactive (but small) shell for Java用于 Java 的交互式(但很小)shell
【发布时间】:2011-08-01 19:13:34
【问题描述】:

我正在寻找一种交互式 shell,我可以将其插入 Java 应用程序以用于调试和编写脚本。我对 用 Java 编写脚本并不是很感兴趣,所以一些类似 shell 的语法会很好,但我希望能够即时加载和运行“外部命令”(这将是 Java .class 文件)。

不幸的是,我的平台空间非常有限 --- 两位数兆字节的堆空间。像 Groovy、Jython 和 JRuby 这样的语言是不适合的。

我找到了 BeanShell,它看起来不错,但它似乎已经死了好几年了,而且语法对于命令行使用来说相当麻烦 --- 例如输入“帮助”之类的内容会产生错误消息,而不是保持沉默,这样会很好。

我还应该看看其他系统吗?

编辑: ...aaaa我刚刚发现 BeanShell2 需要我的平台所没有的反射能力,甚至 RetroWeaver 都无法帮助我。我会尝试 BeanShell 1,但我没有信心。

【问题讨论】:

标签: java shell scripting command-line


【解决方案1】:

你可以看看Rhino

Rhino 是完全编写的 JavaScript 的开源实现 在爪哇。它通常嵌入到 Java 应用程序中以提供 为最终用户编写脚本。它作为默认 Java 嵌入在 J2SE 6 中 脚本引擎。

【讨论】:

  • Javascript 在命令行环境中仍然不是非常好 --- 语法过于编程语言而不是命令提示符;但它听起来比 BeanShell 更合理,所以我会检查一下。塔。
  • rhino 在类和方法上有 TAB 补全!!
  • 如果我错了,请纠正我,jrunscript 与此非常相似,它随 Java 7 一起提供。它是实验性的,但没有得到很好的支持。
【解决方案2】:

Cliche 可以公开用户指定的方法,这些方法可以在运行时调用。

【讨论】:

    【解决方案3】:

    beanShell 很好。完成了,没有死。而且好像还有一个beanshell 2.0的分支。

    【讨论】:

    • 它缺少 TAB 补全和 ANSII 颜色((我使用 groovysh 来获得这些功能...
    猜你喜欢
    • 2010-10-31
    • 2012-12-14
    • 2018-08-27
    • 2011-08-13
    • 1970-01-01
    • 1970-01-01
    • 2013-04-16
    • 2017-07-15
    相关资源
    最近更新 更多