【发布时间】:2018-06-06 22:36:36
【问题描述】:
在 OS XI 上的 IntelliJ Idea 中有一个正在 Idea 中编译的项目(Coursera 分配文件,尚未实现作业功能),但是当我尝试从项目根文件夹将其加载到终端中的 sbt 时,使用只是“sbt”,我得到了错误:
[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.sbt scalaVersion 是 2.11.7;在 Idea 项目结构窗口 Global Libraries 选项卡中,我有 scala-sdk-2.12.4,在 SDK 和项目选项卡中,我有 Java 1.8。
Brew 告诉我我有 sbt 1.0.4,但是当我从项目文件夹运行 sbt --about 时,它显示:
[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
随后尝试加载项目并导致错误。项目中的build.properties文件有sbt version 0.13.9,但是为什么sbt about info显示的是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”命令显示:
java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)
【问题讨论】:
-
“java -version”显示什么?看起来这是 Java9 的一个已知问题:github.com/playframework/playframework/issues/7879
-
编辑了我的帖子 - 它显示 9.0.1。
-
所以它看起来像 Java 9 问题。您可以尝试我之前评论中提到的解决方案
标签: java scala intellij-idea sbt homebrew