7

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

我经常需要处理普通的旧 Java 项目(POJO 项目?)并且怀念 REPL。其他 SO 问题解决了该主题,但这些问题已有数年历史,并且回复已过时。

我将首先提供一些我用来解决这个问题的技术。

4

2 回答 2

3

如果项目使用 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 包装器。

于 2012-08-11T03:33:16.647 回答
1

这个问题主要是关于构建系统以及说服现有构建系统合并 REPL 的潜在复杂性。我喜欢sbtLeiningen的一件事是它们都提供开箱即用的 REPL 支持。不幸的是,将现有项目从 Ant/Maven/whatever 迁移到其中之一可能并不简单。

但是,如果您现有的项目已经发布到 Maven 或 Ivy 存储库(或者可以很容易地被说服这样做),那么您可以创建一个新的 sbt 或 Leiningen 项目,导入现有项目发布的人工制品,然后就完成了。 ..

于 2012-08-11T15:58:10.487 回答