加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

什么是使用groovy在repl中开发的正确方法

发布时间:2020-12-14 16:27:37 所属栏目:大数据 来源:网络整理
导读:我是Groowy的新手.我已经习惯了 Python和Clojure,我可以在REPL上完成大部分编码工作.我正在尝试用Groovy做同样的事,但我不确定我是否找到了匹配的方法. Groovy Eclipse插件提供了几种交互模式,但似乎都不适合我. 第一种方法是将Groovy脚本加载到Groovy控制台
我是Groowy的新手.我已经习惯了 Python和Clojure,我可以在REPL上完成大部分编码工作.我正在尝试用Groovy做同样的事,但我不确定我是否找到了匹配的方法.

Groovy Eclipse插件提供了几种交互模式,但似乎都不适合我.

第一种方法是将Groovy脚本加载到Groovy控制台中.在我看来,控制台是一个弱编辑器,没有任何Eclipse的便利设施,例如标签完成.有一些很好的内省功能,但它并不像是交互式开发.

第二种方法在Eclipse的控制台选项卡中启动Groovy Shell.所以这给了我想要的REPL,但感觉在Eclipse中运行起来非常笨重.没有标签完成.输入代码后我必须输入“go”我想要评估.

Groovy Eclipse插件没有削减它,但Groovy独立发布的Groovy shell很好用.它执行制表符完成(类名除外),并在您输入后立即对代码进行评估.它是记录here的代码.

我深入研究了在Eclipse中运行的REPL与使用groovysh脚本从独立分发运行的REPL之间的差异. Eclipse中的一个是’groovy.ui.InteractiveShell’的实例,而groovysh脚本中的一个是’org.codehaus.groovy.tools.shell.Main’的实例.我在groovysh脚本中找到了以下代码

if [ "x$OLDSHELL" != "x" ]; then </br>
    startGroovy groovy.ui.InteractiveShell "$@"
else
    startGroovy org.codehaus.groovy.tools.shell.Main "$@"
fi

上面的代码和this thread告诉我groovy.ui.InteractiveShell正在消失.

也许有计划将来将新shell更紧密地集成到Eclipse中?

无论如何,我能够破解它,以便我可以使用从Eclipse项目中处理代码所需的类路径来调用groovysh脚本.现在我可以在REPL愉快地发展.但它很乱,我在Groovy独立发行版中使用jar来启动Groovy,而不是使用我的Eclipse项目.我认为可能有更好的方法.

有没有人找到一个很好的方法来集成从groovysh脚本和Eclipse中的项目开始的REPL.或者您是否找到了使用Groovy REPL开发的整体更好的方法?

解决方法

将groovysh整合到groovy-eclipse中并没有太多的努力.主要原因是groovysh使用各种非显示字符来指定颜色,完成和插入符号放置等内容. Eclipse控制台不处理这些并将它们作为垃圾泄漏出来.此外,当在Eclipse中时,来自Groovy的当前shell实现在Windows上运行得不是很好.与jline库存在一些不兼容性.

如果我们要与groovysh进行一些整合,那将是一项艰巨的任务和大量的重写.我并不反对做这样的事情,但到目前为止还没有人要求这个功能(你是我所知道的第一个).

在Eclipse中工作时从命令行运行groovysh有什么问题? (这不是一个修辞问题,我真的想知道缺少哪些功能.)这是大多数Groovy开发人员在Eclipse内部工作时使用的技术.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读