将REPL添加到Java项目的技术

Bob*_*ton 7 java groovy scala clojure read-eval-print-loop

使用Clojure,Scala,JRuby,构建工具等人们发现有哪些技术可以用REPL改造Java项目以快速实验?

我经常需要使用普通的旧Java项目(POJO项目?)并且错过了REPL.其他 SO问题涉及这一主题,但这些问题已有几年历史,而且答复也已过时.

我将首先介绍一些我用来解决这个问题的技巧.

Bob*_*ton 3

如果项目使用 Maven,gmaven 插件和随附的插件mvn groovy:shell会很有帮助,尽管正确配置 它可能具有挑战性。

对于那些不使用 Maven 的项目,常见的模式是将依赖项包含在 lib 文件夹中并手动管理它们。对于这些,我使用了 groovy:

groovysh -cp `echo lib/*.jar | sed 's/ /:/g'`
Run Code Online (Sandbox Code Playgroud)

...或 Clojure:

java -cp /usr/local/Cellar/clojure/1.3.0/clojure-1.3.0.jar:`echo lib/*.jar | sed 's/ /:/g'` clojure.main
Run Code Online (Sandbox Code Playgroud)

默认的 Clojure 包装器也可以使用 rlwrap 进行增强