使用 gradle 编译时出现 Invalid source release 1.7 错误
Posted
技术标签:
【中文标题】使用 gradle 编译时出现 Invalid source release 1.7 错误【英文标题】:Invalid source release 1.7 error when compiling with gradle 【发布时间】:2014-06-17 22:15:51 【问题描述】:对于使用菱形运算符的库,我需要 1.7。
我关注了these sO 的回答……但没有快乐。
从 gradle 构建
compileSdkVersion 19
buildToolsVersion '19.0.3'
compileOptions
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
defaultConfig
minSdkVersion 10
targetSdkVersion 19
versionCode 22
versionName "1.3.1"
错误:任务“:MyApp:compileDefaultFlavorDebugJava”执行失败。
无效的源版本:1.7
Java 主页已设置:$ echo $JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home
【问题讨论】:
【参考方案1】:检查您的 JVM 版本。它不应该是 1.6。
./gradlew --version
javac -version
在 OSX 上检查您的 $JAVA_HOME
echo $JAVA_HOME
您可以在~/.bash_profile
JDK 中设置您的JAVA_HOME
环境变量:
/Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/Home/
【讨论】:
【参考方案2】:转到项目结构->SDK 位置并确保将 JDK 位置设置为 JDK 的正确位置。设置 JAVA_HOME 将为命令行构建修复它,但在 android Studio 中它仍然失败,直到我修复此设置。
【讨论】:
【参考方案3】:这里的答案要求您使用环境变量或 IDE 设置进行全局更改,如果您必须支持多个项目和 JVM,或者只是不想进行全局永久更改,这可能并不理想。
在 Gradle 中设置 JVM 版本的正确方法是在 gradle.properties 文件中添加属性设置。属性为org.gradle.java.home
,值应为JDK或JRE安装根目录的路径。
【讨论】:
以上是关于使用 gradle 编译时出现 Invalid source release 1.7 错误的主要内容,如果未能解决你的问题,请参考以下文章
在 C 中使用 free() 时出现无效(中止)核心转储错误
WPF 拖动时出现 Invalid FORMATETC structure