首页 > 解决方案 > Kotlin:符号在模块“jdk.internal.opt”中声明,它不导出包“jdk.internal.joptsimple.internal”

问题描述

我在 Kotlin 1.3 中使用 Strings.isNullOrEmpty 导入 jdk.internal.joptsimple.internal.Strings.isNullOrEmpty 的热情被 Kotlin 在标题中抛出异常所蒙蔽。(用最新版本的JDK11和JDK12测试)

我的 main.kt 文件

import jdk.internal.joptsimple.internal.Strings.isNullOrEmpty

fun main() {
    print("Enter your name : ")
    val userName = readLine()!!
    if (isNullOrEmpty(userName)) {
        println("Hello, $userName")
    }
}

当我尝试运行它时,构建失败并显示以下消息 IntelliJ 控制台:

Error:(1, 41) Kotlin: Symbol is declared in module 'jdk.internal.opt' which does not export package 'jdk.internal.joptsimple.internal' Error:(7, 9) Kotlin: Symbol is declared in module 'jdk.internal.opt' which does not export package 'jdk.internal.joptsimple.internal'

想知道我是否在这里失踪或做错了什么......

标签: javakotlinjava-11java-module

解决方案


通过将代码更改为解决它

fun main() {
    print("Enter your name : ")
    val userName = readLine()!!
    if (!userName.isNullOrEmpty()) {
        println("Hello, $userName")
    }
}

推荐阅读