人们发现哪些技术对使用 Clojure、Scala、JRuby、构建工具等有用,可以用 REPL 改造 Java 项目以快速进行实验?
我经常需要处理普通的旧 Java 项目(POJO 项目?)并且怀念 REPL。其他 SO 问题解决了该主题,但这些问题已有数年历史,并且回复已过时。
我将首先提供一些我用来解决这个问题的技术。
如果项目使用 Maven,gmaven 插件和随附的插件mvn groovy:shell
会很有帮助,尽管正确配置 它可能具有挑战性。
对于那些不使用 Maven 的项目,一个常见的模式是在 lib 文件夹中包含依赖项并手动管理它们。对于这些,我使用了 groovy:
groovysh -cp `echo lib/*.jar | sed 's/ /:/g'`
...或clojure:
java -cp /usr/local/Cellar/clojure/1.3.0/clojure-1.3.0.jar:`echo lib/*.jar | sed 's/ /:/g'` clojure.main
也可以使用 rlwrap 来增强默认的 Clojure 包装器。