4

使用 jython 的独立 jar,您可以:

java -jar jython-standalone-2.5.3.jar

repl 开始。

我想用 scala 做到这一点:

java -jar scala-standalone.jar 

这会让我进入 scala repl。

让我换个方式问这个问题。如何使用 java 调用 scala repl。

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

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

4

3 回答 3

2

如有必要,您可以自己建造一个。最近有一篇博客文章向您展示了如何创建 REPL。如果您使用 sbt 构建该代码并放入sbt-assembly插件,您应该通过sbt assembly.

于 2013-02-16T11:32:06.800 回答
1

您绝对可以通过 来完成java -jar,但我猜它不会像 jython 那样容易。例如,如果您在scala.batscala 的标准安装中查看(在 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

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

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

PS:如果您尝试使用 android 做某事,请注意它不会起作用。因为我之前尝试过:Android 应用程序中的 Scala REPL

:D

于 2013-02-16T07:33:14.327 回答
0

你的意思是像scala脚本?

http://www.scala-lang.org/docu/files/tools/scala.html

于 2013-02-16T02:57:13.397 回答