“jvm-1.8”不是“目标”的有效选择

2022-09-02 19:59:37

IntelliJ抱怨以下例外,当我试图做我的项目。

Error:scalac: 'jvm-1.8' is not a valid choice for '-target'
Error:scalac: bad option: '-target:jvm-1.8'

但是“gradlew clean install”工作得很好。

项目设置如下:

2.3 版

scala 2.10 和 java

4个模块中有3个使用java 1.7(源和目标兼容性),第4个模块具有源和目标兼容性1.8,并且是导致问题的原因。

任何想法,我怎么能避免错误?(迁移到java 7不是一个选项,升级scala是)


答案 1

在 Intellij IDEA (15 CE) 中,添加以下 scalac 编译器选项:

构建,执行,部署 - >编译器 - > Scala编译器 - >默认值

其他编译器选项:(为空)。-target:jvm-1.7

还有配置文件Gradle 1,...与 ,所以我也将它们更改为 .-target:jvm-1.8-target:jvm-1.7

我使用的是Scala 2.10,JVM 1.8,源代码兼容性1.7。这对我的情况有所帮助。


答案 2

我使用IntelliJ 2017.2.5 w / JRE 1.8.0,scala 2.10.5和gradle 3.3得到了相同的错误消息。我通过选中IntelliJ的IDE中的“将IDE构建/运行操作委派给gradle”复选框解决了我的问题,该复选框位于

设置>构建,执行,部署>构建工具>级别>运行器

详细信息可以在这里找到:https://docs.gradle.org/4.2.1/userguide/scala_plugin.html#ideaTargetVersionhttps://www.jetbrains.com/help/idea/gradle.html

值得注意的是,我能够在IntelliJ之外构建我的gradle项目(即cmd行),并且仅在尝试使用IntelliJ IDE构建时才收到此错误。


推荐