scala有类似于jython的独立jar吗?

时间:2013-02-16 02:46:40

标签: scala jython

使用jython的独立jar,你可以做到:

java -jar jython-standalone-2.5.3.jar

然后repl开始了。

我想用scala做到这一点:

java -jar scala-standalone.jar 

这会让我进入scala repl。

让我以另一种方式问这个问题。 如何使用调用scala repl 的java。

java -cp <jars> <class-with-main-method>

特别是,我不想使用scala cli甚至安装它。

3 个答案:

答案 0 :(得分:2)

如果有必要,你可以自己建造一个。有recent blog post向您展示如何创建REPL。如果您使用sbt构建该代码并放入sbt-assembly插件,则应通过sbt assembly获得独立的REPL。

答案 1 :(得分:1)

你绝对可以通过java -jar来做,但我的猜测是它不会像jython那么容易。例如,如果您在scala的标准安装中查看scala.bat(在Windows上),您将看到使用以下命令的某些变体:

"java" -Xmx256M -Xms32M -Dscala.home="C:\PROGRA~2\scala\bin\.." -Denv.emacs=""
-Dscala.usejavacp=true  -cp "C:\PROGRA~2\scala\bin\..\lib\jline.jar;
C:\PROGRA~2\scala\bin\..\lib\scala-actors.jar;
C:\PROGRA~2\scala\bin\..\lib\scala-compiler.jar;
C:\PROGRA~2\scala\bin\..\lib\scala-library.jar;
C:\PROGRA~2\scala\bin\..\lib\scala-partest.jar;
C:\PROGRA~2\scala\bin\..\lib\scala-reflect.jar;
C:\PROGRA~2\scala\bin\..\lib\scala-swing.jar;
C:\PROGRA~2\scala\bin\..\lib\scalacheck.jar;
C:\PROGRA~2\scala\bin\..\lib\scalap.jar" scala.tools.nsc.MainGenericRunner

当然,所有这一切都在一行中。我在scala安装目录中执行了cd,然后在bin文件夹中直接运行了此命令。它给了我一个scala repl。

我猜你可以跳过一些罐子(摇摆,演员等),将其余的组合成一个罐子并摆脱一些命令行参数然后使用java -jar myscala.jar开始

PS:如果你正在尝试用android做一些事情,请注意它不会起作用。因为我之前尝试过:Scala REPL in an Android app

:d

答案 2 :(得分:0)