从该课程https://class.coursera.org/progfun-004/assignment
我下载了http://spark-public.s3.amazonaws.com/progfun/assignments/example.zip
将其导入Intellij Idea。
但问题是validation代码,因为他们在控制台中运行sbt …
在控制台中运行“sbt”后,我得到:
D:\learning\example>sbt Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 [info] Loading project definition from D:\learning\example\project\project error: error while loading CharSequence, class file 'C:\Program Files\Java\jdk1.8.0_05\jre\lib\rt.jar(java/lang/CharSequence.cl ass)' is broken (bad constant pool tag 15 at byte 1501) [error] Type error in expression Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? q
我使用SBT在Intellij Idea中创build了一个新项目,它可以工作…但是SBT的版本和示例项目不同。 但是,当我更改SBT的版本最新我得到依赖性错误…我堆叠,不能移动…如何解决这样的情况?
我想我可以尝试将所有项目移到Java8,或者在我的控制台中强制使用Java7。 我不知道该怎么做:)
我相信你会遇到这个问题,因为Scala之前的版本2.10.4不支持JDK8。 在github上描述这个问题有一个问题。 您必须降级到Java 7。
如果你在Linux上运行sbt,你可以设置-java-home
参数。
$ sbt -help # java version (default: java from PATH, currently java version "1.7.0_60") -java-home <path> alternate JAVA_HOME
然而,在Windows上并不那么容易。
Sbt使用sbt.bat
在Windows上运行sbt。 你可以通过在Windows控制台中写入where sbt
来找到它。
C:\Users\lpiepiora>where sbt C:\Program Files\sbt\bin\sbt C:\Program Files\sbt\bin\sbt.bat
现在你可以编辑C:\Program Files\sbt\bin\sbt.bat
并在文件的开头
@REM SBT launcher script @REM @REM Envioronment: @REM JAVA_HOME - location of a JDK home dir (mandatory) @REM SBT_OPTS - JVM options (optional) @REM Configuration: @REM sbtconfig.txt found in the SBT_HOME.
加
set JAVA_HOME="C:\Program Files\...<path to your Java 7>"
如果你正在运行,重新启动它。 通过在sbt命令行输入about
确认您正在运行的版本。
我使用Windows和git shell( http://msysgit.github.io/ )中的这个命令适用于我:
sbt -java-home“C:\ Program Files \ Java \ jdk7”
当然,除了jdk8你必须安装jdk7(我已经安装在上面的路径)。