首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在build.gradle.kts中将compileJava‘task ( 11)和'compileKotlin’task (1.8) jvm目标兼容性设置为相同的Java版本?

在build.gradle.kts文件中,可以通过以下方式将compileJava和compileKotlin的jvm目标兼容性设置为相同的Java版本:

  1. 首先,需要在文件的顶部声明Java版本。可以使用JavaVersion类来指定所需的Java版本。例如,如果要将版本设置为Java 1.8,可以添加以下代码:
代码语言:txt
复制
val javaVersion = JavaVersion.VERSION_1_8
  1. 接下来,需要在compileJava和compileKotlin任务中设置jvm目标兼容性。可以使用withGroovyBuilder方法来访问Groovy的API,并使用Groovy的DSL语法来配置任务。例如,可以添加以下代码:
代码语言:txt
复制
tasks.withType<JavaCompile> {
    sourceCompatibility = javaVersion
    targetCompatibility = javaVersion
}

这将确保compileJava和compileKotlin任务的源代码和目标代码与指定的Java版本兼容。

完整的build.gradle.kts文件示例:

代码语言:txt
复制
import org.gradle.api.JavaVersion
import org.gradle.api.tasks.compile.JavaCompile

plugins {
    // 添加所需的插件
}

val javaVersion = JavaVersion.VERSION_1_8

tasks.withType<JavaCompile> {
    sourceCompatibility = javaVersion
    targetCompatibility = javaVersion
}

// 其他配置和任务

这样,compileJava和compileKotlin任务的jvm目标兼容性就被设置为相同的Java版本了。

注意:以上示例中的代码是基于Kotlin DSL的语法,如果使用的是Groovy DSL,请将代码进行相应的调整。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Gradle Kotlin DSL指南

使用Gradle插件一章解释了如何在根项目构建脚本中声明一个版本的插件,然后将它们应用到相应子项目的构建脚本中。下面是一个使用三个子项目和三个插件的方法示例。...类型的对名为check的现有任务的引用 注册一个名为myTask1的新非类型化任务 获取对类型为JavaCompile、名为compileJava的现有任务的引用 注册一个名为myCopy1的类型为Copy...Kotlin提供的兼容性保证适用于向后和向前的兼容性。 向后兼容 我们的方法是在一个主要的Gradle发行版上只做向后突破的Kotlin升级。...向前兼容 最大的问题是外部的kotlin-gradle-plugin版本和Gradle附带的kotlin-stdlib版本之间的兼容性。...-jvm-target=1.8 将生成的JVM字节码的目标版本设置为1.8。

10.4K20

《Kotin 极简教程》第12章 使用 Kotlin 集成Gradle 开发 第12章 使用 Kotlin 集成Gradle 开发《Kotlin极简教程》正式上架:

我们使用 kotlin-gradle-plugin 编译 Kotlin 源代码和模块。使用的 Kotlin 版本通常定义为 kotlinVersion 属性。...针对 JVM,我们需要应用 Kotlin 插件: apply plugin: "kotlin" 12.1.2 Kotlin 与 Java 混合编程 Kotlin 源代码可以与同一个文件夹或不同文件夹中的...如果是针对 JDK 7 或 JDK 8,那么可以使用扩展版本的 Kotlin 标准库,其中包含为新版 JDK 增加的额外的扩展函数。...下面我们就来简要介绍一下使用 Kotlin 脚本来编写 Gradle 的配置文件。 我们就以上一章中的 chapter11_kotlin_springboot 工程为例。...setTargetCompatibility(1.8) } 提示: 本节示例工程源码 https://github.com/EasyKotlin/chapter11_kotlin_springboot

2.8K20
  • 聊聊Android编译流程

    通过 aapt 打包 res 资源文件,生成 R.java、resources.arsc 和 res 文件(二进制 & 非二进制如 res/raw 和 pic 保持原样); 处理 .aidl 文件,生成对应的...Java 接口文件; 通过 Java Compiler 编译 R.java、Java 接口文件、Java 源文件,生成 .class 文件; 通过 dex 命令,将 .class 文件和第三方库中的...从gradle Task看编译流程 先贴一段gradle打印task耗时的代码 项目根目录build.gradle打开 加入下面代码 import java.util.concurrent.TimeUnit...聊聊AbstractProcessor和Java编译流程 compiler 混入了奇怪的东西 kotlin已经被引入了很多版本了,但是kotlin的compiler其实和java compiler是不一样的...而高版本采用d8编译器将class转化为dex。 ? desugar是干嘛的? Android Studio 为使用部分 Java 8 语言功能及利用这些功能的第三方库提供内置支持。

    2K40

    ProtoBuf 动态拆分Gradle Module

    它的设计非常适用于在网络通讯中的数据载体,很适合做数据存储或 RPC 数据交换格式,它序列化出来的数据量少再加上以 K-V 的方式来存储数据,对消息的版本兼容性非常强,可用于通讯协议、数据存储等领域的语言无关...plugins { id 'java-library' id 'org.jetbrains.kotlin.jvm' id 'com.google.protobuf' } java...java { } } task.plugins { grpc { option 'lite...其中7.7.7的版本只是一个缺省而已,并没有实际的价值。 多线程操作 这里我们出现了一点点的性能问题, 如果可以gradle插件中尽量多使用点多线程,尤其是这种需要io的操作中。...,多线程操作Hashmap,之后我在测试环节随机出现了生成工程和include不匹配的问题。

    66810

    Gradle 进阶学习 之 build.gradle 文件

    build 文件中常见的属性和方法如下所示: 1、常见属性代码 1.1 JDK版本兼容性设置 sourceCompatibility: 指定使用哪个版本的JDK语法来编译源代码。...这与编译环境有关,且需要Java插件支持。 sourceCompatibility = 1.8 targetCompatibility: 指定生成特定于某个JDK版本的class文件。...这与运行环境有关,同样需要Java插件支持。 targetCompatibility = 1.8 1.2. 字符集设置 编译Java选项字符集: 设置业务编码的字符集,用于源码解码。...compileJava.options.encoding "UTF-8" 编译测试Java选项字符集: 设置测试编码的字符集,同样用于源码解码。...拓展 仓库服务:您提供的链接指向了阿里云的Maven仓库服务,这是一个私有Maven制品仓库,可以用于存储和管理制品,如二进制库和插件。

    1.5K10

    一步步搭建采用Gradle来运行Spring Boot应用的生产环境

    -02/conf/nexus.properties文件,把application-port设置成合适的端口 修改/opt/nexus/nexus-2.14.5-02/bin/jsw/conf/wrapper.conf...文件,配置合适的JVM参数. 3.1在文件的最开始添加 #@wjw_add wrapper.ignore_sequence_gaps=TRUE 3.2添加JVM参数 #->@wjw_add wrapper.java.additional....11=-Djava.net.preferIPv4Stack=true wrapper.java.additional.12=-Dcom.sun.jndi.ldap.connect.pool.protocol...每个 Gradle Wrapper 都绑定到一个特定版本的 Gradle,所以当你第一次在给定 Gradle 版本下运行上面的命令之一时,它将下载相应的 Gradle 发布包,并使用它来执行构建.默认,...targetCompatibility = 1.8 [compileJava, compileTestJava, javadoc]*.options*.encoding = 'UTF-8' repositories

    1.8K30

    【错误记录】Groovy 报错 ( Execution failed for task ‘:compileGroovy‘. > orgapachetoolsanttaskdefsJava )

    文章目录 一、报错信息 二、问题分析 三、解决方案 一、报错信息 ---- 编译 Groovy 代码时 , 报如下错误 , 该错误不是代码错误 , 而是 Groovy 工程的环境配置错误 ; 相同的环境...> Task :compileJava NO-SOURCE > Task :compileGroovy FAILED 1 actionable task: 1 executed FAILURE:...完整报错信息 : 使用 --stacktrace 参数 , 即可打印出完整的报错信息 ; 11:00:32: Executing task 'Test.main() --stacktrace'......> Task :compileJava NO-SOURCE > Task :compileGroovy FAILED 1 actionable task: 1 executed FAILURE:...build.gradle 的相关配置 , 只需要修改 org.codehaus.groovy:groovy-all 依赖的版本为 3.0.5 即可 , 其它的配置不动 ; 最终的 build.gradle

    2.1K20

    Gradle Java 插件

    Java 插件是构建 JVM 项目的基础,它为项目增加了很多能力,例如编译,测试,打包,发布等等。 很多插件都是基于 Java 插件实现的,例如 Android 插件。...main 源集的源代码和资源目录为例 sourceSets { main { java { srcDirs = ['src/java']...Task 依赖:compilesourceSetJava , processsourceSetResources 功能:准备给定的源集的类和资源以进行打包和执行。...当前 JVM 的版本 编译 Java 源代码时使用的 Java 版本,可以是一个 数值或者字符串,例如 ‘1.8’ 或者 1.8 targetCompatibility JavaVersion sourceCompatibility...生成 class 文件的版本,可以是一个 数值或者字符串,例如 ‘1.8’ 或者 1.8 archivesBaseName String 归档的文件使用的名字,例如 JAR 和 ZIP 文件 manifest

    1.3K20

    Android—Gradle教程(九)完结篇

    ,当你进行二次编译的时候,可以重用该进程 不需要每次启动gradle进程(JVM实例),减少了初始化相关的工作。...Daemon可以缓存项目结构,文件,task等,尽可能复用之前的编译成果,缩短编译过程 在gradle.properties设置:org.gradle.daemon=true 。...因此在你的持续集成服务器上你可能想关闭这个特性 javaMaxHeapSize: 为DEX 编译器 设置最大的堆大小,相对于设置这个属性,你应该增加 Gradle的 堆大小(这个堆大小dex-in-process...、使解决版本的差异变得困难和更慢的构建。...1.8 分多module管理 抽取代码中相对独立的功能模块,创建新的module来开发,通过这种方式模块化你的代码将允许构建系统仅仅只编译那些有改动的模块,并将其构建结果缓存下来以被后面的构建使用。

    3.2K20

    Gradle 与 AGP 构建 API: 如何编写插件

    △ 现在 Task 会在执行阶段打印 hello 信息 我的自定义 Task 目前位于 build.gradle.kts 文件中。...我会创建一个新的文件夹,并将其命名为 buildSrc。接下来,我为插件项目创建了一个 build.gradle.kts 文件,这样 Gradle 就会自动将此文件夹添加至构建。...AGP 为其构建产物时的生命周期提供了扩展点。 在开始学习 Variant API 前,让我们先了解什么是 Variant。变体 (variant) 是您应用可以构建的不同版本。...假设除了功能完整的应用,您还希望构建一个演示版的应用或用于调试的内部版本。您还可以针对不同的目标 API 或设备类型。...在这里,我会检查当前变体是否是我为 staging 创建的变体。接下来,我将禁用单元测试并设置不同的 minSdk 版本。

    84630

    Android Gradle 编译常见优化手段

    build cache 的缓存是如何命中的 所有可能影响 task 的变量,包括但不限于所有入参,task 实现,buildSrc 源码,gradle 版本,JVM 版本,都会被加入计算,得到一个 string...前面提到非常多的条件可能使得 task 缓存 key 发生变化,导致无法复用缓存: buildSrc 变更; Gradle JVM 版本; task 实现(也就是插件版本); 入参,如果是 Java...但不正常才是正常,如果: 你的工程里有 SNAPSHOT 库,且 SNAPSHOT 超时时间设置的不合理; 声明了一个不存在的依赖库版本(并不一定会导致你编译失败); 依赖库版本使用了 + 号(有新用新...可减少 generateDebugRFile 的编译耗时,和部分 compileJava 和 compileKotlin 的编译避免(一个模块增加了资源 ID,R 文件的变化不会再穿透到其他模块)。...设置合理的 gradle JVM 参数 —— org.gradle.jvmargs org.gradle.jvmargs 用于指定 gradle 进程的 JVM 参数,可以指定 JVM 初始堆内存大小,

    66810

    springBoot生成SQL文件-基于Liquibase实现

    之前的文章介绍的都是用的jpa或者Hibernate内部方法实现的,本文引入一个第三方数据库管理工具Liquibase,说到数据库版本管理软件还有Flyway,但其社区版无论是功能还是用法均简单至极,完全无法和...当项目中不使用Hibernate与jpa自动生成表时,完全可以用Liquibase管理SQL脚本的版本迭代,还可以对比数据库间的差异生成对应的差异log,其用来管理版本的log文件还可以与SQL脚本文件互转...本文的目标是创建一个gradle的task来运行Liquibase生成增量脚本,这里需要引入其gradle插件liquibase-gradle-plugin。...文件中已默认添加MySQL和Oracle的运行时驱动,若无法满足需求可自行修改为所需版本: liquibaseRuntime 'mysql:mysql-connector-java:5.1.46...中的diffChangeLog和updateSQL均属于liquibase插件中的内置任务。

    3K40

    Gradle 创建java项目详细步骤

    Maven 用pom.xml 文件描述, 是对ant的补充, 项目统一管理的得力助手, 统一的依赖包使得项目不再为版本不一致而发愁....它使用基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。...面向Java应用为主, 当前支持的语言限于Java、Groovy、Kotlin和Scala,计划未来将支持更多的语言。 功能 gradle对多工程的构建支持很出色,工程依赖是gradle的第一公民。...这也是重构的最佳实践。 gradle的整体设计是以作为一种语言为导向的,而非成为一个严格死板的框架。 免费开源 安装之前需要什么?...需要java 1.7 以上版本 选择gradle 4.3 以上版本 本文推荐java 1.8 +Gradle 5.4 Windows用户下载安装包:https://gradle.org/next-steps

    1.2K40
    领券