在IntelliJ Idea OS OS上有一个项目(一个Coursera赋值文件,还没有实现功能函数),它在Idea中进行编译,但是当我尝试从项目根文件夹中的sbt中加载它时,使用只是“sbt”,我收到错误:
Object(e)
build.sbt scalaVersion是2.11.7;在Idea项目结构窗口的Global Libraries选项卡中,我有scala-sdk-2.12.4,在SDKs和Project选项卡中,我有Java 1.8。
Brew告诉我我有1.0.4,但当我从项目文件夹运行sbt --about时,它显示我:
[info] Loading project definition from <omitted>/calculator/project
java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
at sbt.inc.TextAnalysisFormat$ObjectStringifier$$anonfun$34.apply(TextAnalysisFormat.scala:336)
<trace omitted>
[error] (compile:readAnalysis) java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore?
然后尝试加载项目和产生的错误。项目中的build.properties文件有sbt版本0.13.9,但为什么关于info的sbt显示Scala 2.10.5?
我的系统上安装了Java 8和Java 9(通过brew cask) - sbt是否可能出于某种原因使用Java 9而不是Java 8,如果是这样,我将如何检查并修复它? Java 9的安装命令是“brew cask install java”,而对于Java 8,它是“brew cask install java8”。
编辑:“java -version”命令显示:
[info] This is sbt 0.13.9
[info] No project is currently loaded
[info] sbt, sbt plugins, and build definitions are using Scala 2.10.5
答案 0 :(得分:1)
Scala和Java 9存在一些交互问题。我卸载了Java 9,因为我现在不需要它而不是Java 8,之后项目加载没有错误。