错误:java:javacTask:源版本 1.8 需要目标版本 1.8
Posted
技术标签:
【中文标题】错误:java:javacTask:源版本 1.8 需要目标版本 1.8【英文标题】:Error:java: javacTask: source release 1.8 requires target release 1.8 【发布时间】:2019-08-08 19:11:07 【问题描述】:我正在使用 intellij 创建具有以下平台 JVM、JS、NativeWin、NativeUbuntu、android 和共享 scala 代码的 sbt 交叉编译平台项目。我的项目中需要 java 8,似乎 android 无法使用java 8 版本,由于我在 sbt 文件中为 android 模块指定了 1.7 版本,如下所示:
Android模块build.sbt
文件
val commonSettings = Seq(
version := "0.0.1",
scalaVersion := "2.11.12",
scalacOptions ++= Seq("-unchecked", "-deprecation", "-feature", "-target:jvm-1.7"),
javacOptions ++= Seq("-source", "1.7", "-target", "1.7"),
exportJars := true
)
lazy val android = (project in file("."))
.enablePlugins(AndroidLib)
.settings(commonSettings: _*)
.settings(
name := "sgl-android",
platformTarget := "android-28",
useProguard := true
)
项目设置:
我收到了这个错误:
【问题讨论】:
【参考方案1】:Android 支持 java8,但您的代码和依赖库不应调用 MethodHandle.invoke
。见https://developer.android.com/studio/write/java8-support。
标准 scala 库 2.11、2.12、2.13.0-M5 使用此方法,因此编译不成功。
【讨论】:
在我为所有模块设置项目 sdk 后它可以工作了谢谢 :)以上是关于错误:java:javacTask:源版本 1.8 需要目标版本 1.8的主要内容,如果未能解决你的问题,请参考以下文章
[java问题记录]IntelliJ Idea编译报错:javacTask: 源发行版 1.8 需要目标发行版 1.8
Information:java: javacTask: 源发行版 8 需要目标发行版 1.8
IDEA编译时出现 Information:java: javacTask: 源发行版 1.8 需要目标发行版 1.8
Information:java: javacTask: 源发行版 1.8 需要目标发行版 1.8