来自cmd的Scala REPL:命令的语法不正确

时间:2016-07-18 15:11:31

标签: windows scala cmd

我的Scala(2.12)REPL最近停止了工作。从cmd开始时,它会告诉我the syntax of the command is incorrect。我能想到的唯一系统变化是安装IntelliJ 2016.2(我试过卸载而没有运气)和#34; Cmder" (http://cmder.net/)迷你版本是独立的,不应该改变任何东西。可能有Windows更新。我尝试卸载Scala(有2.12.0-M3)并安装Scala 2.12.0-M5,但它没有用。我卸载2.12安装了2.11.8,它的REPL似乎工作正常。所以也许它是Scala的一个错误。如果此处没有任何内容,我可以稍后向他们提出问题。

我发现问题的最接近的事情是:The input line is too long. The syntax of the command is incorrect,但我没有尝试启动激活器项目,只是从命令行启动REPL。

我执行的这些步骤(安装2.12时):

我尝试将Java 6设置为JAVA_HOME: Exception in thread "main" java.lang.UnsupportedClassVersionError: scala/tools/nsc/MainGenericRunner : Unsupported major.minor version 52.0

因为Java 8是最小的,所以至少它尝试启动一个java进程并且正在拾取该环境变量。

当我将Java 8作为JAVA_HOME时,我得到: The syntax of the command is incorrect.

C:\Users\tombstone>scala " "
]==[-toolcp] was unexpected at this time.

我试过的任何其他参数(包括-version)给我的语法不正确

C:\Users\tombstone>where scala
C:\Program Files (x86)\scala\bin\scala
C:\Program Files (x86)\scala\bin\scala.bat

这似乎对我来说是正确的

我使用的是Windows 7 Enterprise x64

1 个答案:

答案 0 :(得分:0)

所以我通过转动scala.bat文件中的echo on来调试此问题。然后我发现我的JAVA_HOME环境变量在末尾有一个额外的引号,因为我的其他一个脚本调用setx JAVA_HOME "C:\Program Files\Java\jdk1.8.0_74\",额外的\使它被视为字面引用并且放在我的环境变量中。当scala.bat文件检查了我的JAVA_HOME时,由于它有一个额外的引号,它得到了无效的语法错误。