Kotlin:在模块“ jdk.internal.opt”中声明了符号,该模块不会导出包“ jdk.internal.joptsimple.internal”

时间:2019-07-25 07:55:00

标签: java kotlin java-11 java-module

我热衷于在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'

想知道我是否在这里失踪或做任何错事...

1 个答案:

答案 0 :(得分:0)

通过将代码更改为

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