[英]Class java.time.Duration not found - continuing with a stub
鑒於:
$cat build.sbt
scalaVersion := "2.11.8"
libraryDependencies ++= List(
"io.spray" %% "spray-client" % "1.3.3"
,"io.spray" %% "spray-json" % "1.3.2"
,"com.typesafe.akka" %% "akka-actor" % "2.4.2"
,"com.typesafe" % "config" % "1.3.0"
,"org.scalatest" % "scalatest_2.11" % "2.2.6" % "test"
)
使用此答案 ,我嘗試使用JDK 7。
但是,出現以下錯誤:
$sbt -java-home /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/ clean test
[info] Loading project definition from /Users/Kevin/Workspace/Work/project/project
[info] Set current project to project (in build file:/Users/Kevin/Workspace/Work/project/)
[success] Total time: 0 s, completed Mar 14, 2016 3:51:10 PM
[info] Updating {file:/Users/Kevin/Workspace/Work/project/}project...
[info] Resolving jline#jline;2.12.1 ...
[info] Done updating.
[info] Compiling 9 Scala sources to /Users/Kevin/Workspace/Work/project/target/scala-2.11/classes...
[error] Class java.time.Duration not found - continuing with a stub.
[error] Class java.time.Duration not found - continuing with a stub.
[error] two errors found
[error] (compile:compileIncremental) Compilation failed
[error] Total time: 5 s, completed Mar 14, 2016 3:51:16 PM
看着這個答案 ,我猜測/推測我需要添加一個java8時間庫作為依賴項?
我不確定如何解決此錯誤。
此錯誤表明您在代碼中的某個地方正在中繼java.time.Duration
,這是Java 8中公開的新API。由於您已降級為Java 7,因此該類不再可用。
刪除依賴項,或恢復為Java8。
除非您使用的是商業版本,否則Akka 2.4需要JDK8, 文檔中對此進行了提及。
相關摘錄
Akka要求您在計算機上安裝Java 8或更高版本。
Typesafe作為Reactive Platform的一部分,提供了Akka和相關項目(例如Scala或Play)的商業版本,該版本可用於Java 6,以防萬一您的項目尚不能升級到Java 8。 它還包括其他商業功能或庫。
Typesafe config 1.3.0也取決於java8
1.2.1版和更早版本是針對Java 6構建的,而較新的版本(1.3.0及更高版本)將針對Java 8構建。
還要注意,Spray-Client 1.3.3取決於Akka 2.3.9(請參閱http://spray.io/project-info/current-versions/#current-versions ),您可能希望升級到akka-http后繼噴塗。
(由於您似乎使用的是posix兼容系統,因此您可能想看看jenv來管理每個項目的jdk版本)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.