gradle指定相应JDK编译

转载请注明出处: 
http://blog.csdn.net/sanyinchen/article/details/50901582

问题描述:

电脑中装有多个jdk版本,可能默认的jdk是1.6,但是项目中用到了俗称钻石语法的结构就是<>这玩意。但是由于你装的某些软件必须在1.6版本下才能跑,因此你不想更改的你的JAVA_HOME,下面有几种解决办法.

  1. IDEA编译器:比如Android studio.可以在File->Project structure->SDK Location中去指定你的jdk路径
  2. build.gradle中添加

    compileOptions {  
    sourceCompatibility JavaVersion.VERSION_1_7  
    targetCompatibility JavaVersion.VERSION_1_7  
    }   
    

这个任务属于Android这个闭包中

    1. 在gradle.properties中添加

      org.gradle.java.home=your jdk path 
      注意:此种方法没有尝试过,不确定是否真的有效

    2. 如果你是直接通过命令行执行任务,比如./gradlew build等,我使用第二种方法出现了乱码,编译不通过,也懒得去深究了,可以使用

      gradle build -Dorg.gradle.java.home='your jdk path' 
      命令行带参数的方式执行

原文地址:https://www.cnblogs.com/guanjie20/p/6520103.html