记一个 Duplicate class kotlin-stblib vs kotlin-stdlib-jdk7/8 编译问题引发的案例
某天将项目 kotlin 版本升级到了 1.8.0 ,然后编译报错了,
Duplicate class kotlin-stblib vs kotlin-stdlib-jdk7/8
然后开始寻求解决方案...
Duplicate class kotlin-stblib vs kotlin-stdlib-jdk7/8
kotlin-stdlib
kotlin 1.8.0 基于 JVM 1.8 编译,不再支持 JVM 1.6 和 1.7。后续不用单独在build.gradle 依赖 kotlin-stdlib-jdk7 and kotlin-stdlib-jdk8。
If you have explicitly declared kotlin-stdlib-jdk7 and kotlin-stdlib-jdk8 as dependencies in your build scripts, then you should replace them with kotlin-stdlib.
解决 Duplicate class 的编译问题
- 方法一
使用 kotlin-bom 清单
implementation(platform("org.jetbrains.kotlin:kotlin-bom:1.8.0"))
- 方法二
强制把 kotlin-stdlib-jdk7 和 kotlin-stdlib-jdk8 升级到 1.8.0
dependencies {
constraints {
add("implementation", "org.jetbrains.kotlin:kotlin-stdlib-jdk7") {
version {
require("1.8.0")
}
}
add("implementation", "org.jetbrains.kotlin:kotlin-stdlib-jdk8") {
version {
require("1.8.0")
}
}
}
}
- 方法三
手动移除 kotlin-stdlib,不推荐
dependencies {
implementation("com.example:lib:1.0") {
exclude group: "org.jetbrains.kotlin", module: "kotlin-stdlib"
}
}
参考文档:https://kotlinlang.org/docs/gradle-configure-project.html#other-ways-to-align-versions
kotlin-bom 库版本清单表
org.jetbrains.kotlin » kotlin-stdlib
org.jetbrains.kotlin » kotlin-stdlib-jdk7
org.jetbrains.kotlin » kotlin-stdlib-jdk8
org.jetbrains.kotlin » kotlin-stdlib-js
org.jetbrains.kotlin » kotlin-stdlib-common
org.jetbrains.kotlin » kotlin-reflect
org.jetbrains.kotlin » kotlin-osgi-bundle
org.jetbrains.kotlin » kotlin-test
org.jetbrains.kotlin » kotlin-test-junit
org.jetbrains.kotlin » kotlin-test-junit5
org.jetbrains.kotlin » kotlin-test-testng
org.jetbrains.kotlin » kotlin-test-js
org.jetbrains.kotlin » kotlin-test-common
org.jetbrains.kotlin » kotlin-test-annotations-common
org.jetbrains.kotlin » kotlin-main-kts
org.jetbrains.kotlin » kotlin-script-runtime
org.jetbrains.kotlin » kotlin-script-util
org.jetbrains.kotlin » kotlin-scripting-common
org.jetbrains.kotlin » kotlin-scripting-jvm
org.jetbrains.kotlin » kotlin-scripting-jvm-host
org.jetbrains.kotlin » kotlin-scripting-ide-services
org.jetbrains.kotlin » kotlin-compiler
org.jetbrains.kotlin » kotlin-compiler-embeddable
org.jetbrains.kotlin » kotlin-daemon-client
具体版本对应关系:
kotlin-bom 库版本对应表查询:https://mvnrepository.com/artifact/org.jetbrains.kotlin/kotlin-bom
记一个 Duplicate class kotlin-stblib vs kotlin-stdlib-jdk7/8 编译问题引发的案例的更多相关文章
- 【Kotlin】初识Kotlin(二)
[Kotlin]初识Kotlin(二) 1.Kotlin的流程控制 流程控制是一门语言中最重要的部分之一,从最经典的if...else...,到之后的switch,再到循环控制的for循环和while ...
- 【Kotlin】初识Kotlin之面向对象
[Kotlin]初识Kotlin之面向对象 1.类 在Kotlin中,类用关键字class来定义 如果一个类具有类体,那么需要使用{ }来写类体内容,如果不需要类体,那么只需要定义类名就可以了 // ...
- 在相同的主机上创建一个duplicate数据库
在相同的主机上创建一个duplicate数据库 source db:dbtest auxiliary db:dupdb duplicate database会自动分配一个新的DBID要确保auxili ...
- 记一个社交APP的开发过程——基础架构选型(转自一位大哥)
记一个社交APP的开发过程——基础架构选型 目录[-] 基本产品形态 技术选型 最近两周在忙于开发一个社交App,因为之前做过一点儿社交方面的东西,就被拉去做API后端了,一个人头一次完整的去搭这么一 ...
- 初试kotlin:用Kotlin开发桌面/CommandLine 工具
既然kotlin是google和jetbrain联合搞的,开发环境不用说了肯定是Intellij Idea了. 先创建一个kotlin项目. 先来一个HelloWorld package com.xi ...
- 序章:为什么学习使用kotlin、及kotlin的一些碎碎念
为什么使用kotlin? 当然是因为项目目前的开发语言是kotlin啊! 一方面是想能够尽快适应项目,另一方面,kotlin这门语言独特的语法,确实很吸引我,也让我意识到java代码在某些程度上的繁琐 ...
- Java调用Kotlin事项及Kotlin反射初步
继续来研究Java调用Kotlin的一些东东. @Throws注解: 我们知道在Kotlin中是不存在checked exception的,而在Java中是存在的,那..如果从Java来调用Kotli ...
- [Kotlin Tutorials 19] Kotlin Flows, SharedFlow and StateFlow in Android
Kotlin Flows 本文包含的内容: Flow是什么, 基本概念和用法. Flow的不同类型, StateFlow和SharedFlow比较. Flow在Android中的使用 安全收集. 操作 ...
- 开博第二篇:记一个利用JavaScript,编写PS脚本,开发图片量产工具
背景:身在一个有实业的电商公司,设计部的妹子们总是会有做不完的商品图片,当然了,要是做点有技术含量的美化工作也罢,但是最近她们很是无聊,总是要做一些重复性的工作,就比如如题所说的,图片量产,量产什么呢 ...
- 记一个常见的ms sql server中取第N条记录的方法
前言 好好学习,天天向上. 正文 好像也是一个不难的问题,刚视频里看到的,就记一下吧. 下面是表中原始的数据结构,做了一个倒叙排序: select * from Employee order by S ...
随机推荐
- [转帖]SPEC-cpu2006的详细使用一键安装、手动安装。
一.SPEC-cpu2006简介 SPEC CPU 2006 benchmark是SPEC新一代的行业标准化的CPU测试基准套件.重点测试系统的处理器,内存子系统和编译器. 说明:由于spec2006 ...
- Mark 一下 Redisson 可能需要升级版本
貌似有bug 我们高并发的情况下貌似遇到了 https://github.com/redisson/redisson/issues/2299
- 【记录一个问题】VictoriaMetrics的vmstorage因为慢查询导致大量写入失败
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 见上图. 一直以为vmstorage中的查询协程会让位于写 ...
- gin启动https支持
gin是一个使用Go语言开发的Web框架,具有运行速度快,分组的路由器,良好的崩溃捕获和错误处理,支持中间件等. 在工作中有时候需要支持https服务,gin可以通过中间件的方式来提供对https的支 ...
- OpenIM (Open-Source Instant Messaging) Mac Deployment Guide
This guide provides step-by-step instructions for deploying OpenIM on a Mac, including both source c ...
- 热门数据集提供【MNIST、鸢尾花、猫狗、CIFAR10、vegetables、Ox-Flowers17、pascalvoc】
热门数据集提供[MNIST.鸢尾花.猫狗.CIFAR10.vegetables.Ox-Flowers17.pascalvoc] 简介: 鸢尾花数据集: 约150条数据,每条样本4个属性,共3个类别 M ...
- 5个前端开源项目带你在Web上体验Windows
本文来分享五个 yyds 的开源项目,这些项目把 Windows 带到了 Web 平台上.让我们一起感受这些项目带来的回忆和创新,重温 Windows 93.98.XP 和 7 的经典界面,甚至探索现 ...
- 【双指针】双指针算法详解两道经典OJ【力扣27,力扣26,力扣38】超详细算法教程
[双指针]双指针算法详解两道经典OJ[力扣27,力扣26,力扣38]超详细算法教程 今天又又到了我们刷力扣题的时间啦! 今天博主给大家带来的三道题是: 27. 移除元素 26. 删除有序数组中的重复项 ...
- Navicat 15 for MySQL 破解【我亲测可用】
1.去官网下载正版 https://www.navicat.com.cn/ 2.破解下载:https://files-cdn.cnblogs.com/files/del88/NavicatKeygen ...
- 程序员减少BUG的两个小妙招!
原创:陶朱公Boy(微信公众号ID:taozhugongboy),欢迎分享,转载请保留出处. 点评: 我们说衡量一个程序员水平的高低往往有很多因素,但有一个因素至关重要即代码质量. 如果程序员写的 ...