首页
学习
活动
专区
工具
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.2K20

《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.javaJava 接口文件、Java 源文件,生成 .class 文件; 通过 dex 命令,将 .class 文件第三方库中...从gradle Task看编译流程 先贴一段gradle打印task耗时代码 项目根目录build.gradle打开 加入下面代码 import java.util.concurrent.TimeUnit...聊聊AbstractProcessorJava编译流程 compiler 混入了奇怪东西 kotlin已经被引入了很多版本了,但是kotlincompiler其实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不匹配问题。

    65410

    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制品仓库,可以用于存储管理制品,二进制库插件。

    1K10

    一步步搭建采用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

    1.8K20

    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

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

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

    83930

    Android—Gradle教程(九)完结篇

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

    3.1K20

    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 初始堆内存大小,

    40010

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

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

    2.9K40

    Gradle 创建java项目详细步骤

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

    1.2K40
    领券