Eclipse/Kotlin 仅识别一些需要的导入

2024-01-02

我按照说明进行操作用于 Eclipse 的 Kotlin 插件 https://kotlinlang.org/docs/tutorials/getting-started-eclipse.html。 Hello World 测试运行良好。然后我做了一个“文件”>“新建”>“Kotlin 文件”。

package so2
object LineParserRegistry {
    val parsers = ConcurrentHashMap<KClass<*>, (String) -> Any?>()
    inline fun <reified T> register(noinline parser : (String) -> T?) {
        parsers[T::class] = parser
    }
    inline fun <reified T> get(): (String) -> T? {
        // force companion initializer
        Class.forName(T::class.java.name)
        return parsers[T::class] as (String) -> T??
    }
}
data class College(val id: String, val name: String) {
    companion object {
        init {
            val collegeLineParser: (String) -> College? = { line ->
                val regex = Regex("(\\d+) (.+)")
                regex.matchEntire(line)?.let {
                    College(it.groupValues[1], it.groupValues[2])
                }
            }
            LineParserRegistry.register(collegeLineParser)
        }
    }
}
inline fun <reified T : Any> File.parseLines(): List<T> =
    useLines { it.mapNotNull(LineParserRegistry.get<T>()).toList() }
fun main(){
    val colleges = File("/home/cwhii/work/input.txt").parseLines<College>()
    println("colleges: $colleges")
    println("OK.")
}

Eclipse 提供添加这些imports我让它这样做:

import java.util.concurrent.ConcurrentHashMap
import kotlin.reflect.KClass
import java.io.File

当我在这里运行它时,结果是:

No Location
    ERROR: Supertypes of the following classes cannot be resolved. Please make sure you have the required dependencies in the classpath:
    class kotlin.text.Regex, unresolved supertypes: java.io.Serializable

/home/cwhii/work/sw/kaptcp/src/so/loadClass.kt
    ERROR: Unresolved reference: File (14, 30)
    ERROR: Unresolved reference: File (18, 17)
/home/cwhii/work/sw/kaptcp/src/so2/hiddenReg.kt
    ERROR: Unresolved reference: java (2, 8)
    ERROR: Unresolved reference: java (4, 8)
    ERROR: Unresolved reference: ConcurrentHashMap (6, 19)
    ERROR: Unresolved reference: Class (12, 9)
    ERROR: Cannot access class 'java.lang.Class'. Check your module classpath for missing or conflicting dependencies (12, 32)
    ERROR: Unresolved reference: name (12, 37)
    ERROR: Unresolved reference: File (29, 30)
    ERROR: Unresolved reference: File (32, 20)

首先这个问题是如何解决的?其次,为什么Eclipse会指出import问题而不是其他问题?

Eclipse > Window > Preferences > Java > Build Path > Classpath Variables Eclipse > Window > Preferences > Java > Build Path > Classpath Variables

我认为是因为 Eclipse 知道足够多的建议import java.io.File这是在import java.io that java.io.Serializable将位于同一位置,即它存在于系统上以便被发现。如果这不是真的,我在哪里可以找到应该在这里和不应该在这里的东西?


尝试在 eclipse 首选项 -> kotlin -> 编译器上设置 JDK home 选项,它对我有用

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Eclipse/Kotlin 仅识别一些需要的导入 的相关文章

  • Android 的代码覆盖率[重复]

    这个问题在这里已经有答案了 可能的重复 Android测试代码覆盖率 Eclipse https stackoverflow com questions 3282702 android test code coverage eclipse
  • Eclipse 在处理 xml(传入或传出)时挂起。此时CPU+磁盘尖峰

    我每天必须处理许多 XML 这极大地打断了我的工作流程 我尝试降级到 Indigo 但所有附加组件都被删除 打开xml时出现问题 切换到 xml 切换出一个 xml 甚至切换到另一个 xml 到底发生了什么事情让 XML 如此烦人 我可以禁
  • 如何使用表内的 JSONB 数据类型和 PostgreSQL JDBC 驱动程序将 JSON 对象存储到 PostgreSQL 中

    我想将以下 json 对象保存到 PostgreSQL 数据库表中as jsonb fname john lname doe 我当前使用 PGObject 创建对象并将类型设置为 jsonb 并将值作为 json 字符串传递 寻找更好的 m
  • Kotlin 和惯用的书写方式,基于可变值“如果不为空,则...”

    假设我们有这样的代码 class QuickExample fun function argument SomeOtherClass if argument mutableProperty null doSomething argument
  • 生成 equals 和 hashcode 时忽略属性

    假设我有一个类 Customer public class Customer private String firstName private String lastName private String doNotAddMeToEqual
  • 与 Dagger 一起使用时,Espresso 生成 FileNotFoundException

    我一直在研究旧版 Android 应用程序 尝试为其添加测试和适当的架构 该应用程序有一个主要LaunchActivity它在启动时运行一系列检查 最初 该活动使用 Dagger 来 注入依赖项 活动将使用它来运行检查 但效果相当糟糕 我转
  • 当对phonegap应用程序进行更改时,Eclipse不更新apk

    已经有人问过这个问题 但没有一个答案有效 例如清理 刷新 更改版本号等 当对源文件进行更改时 Eclipse 不会重建 android 项目 这是一个phonegap应用程序 如果我更改html文件甚至java代码 我仍然得到相同的apk
  • Java:同步标准输出和标准错误

    我有一个奇怪的问题 如果我能解决它就好了 出于调试目的 以及其他一些事情 我在标准输出上编写控制台 Java 应用程序的日志 有些内容写在标准输出上 有些内容 例如错误 打印在标准错误上 问题是这两者并不完全同步 因此打印行的顺序并不总是正
  • 启动 jboss 服务器时出错

    我刚刚完成重新安装我的操作系统 并像往常一样安装和测试我使用的标准工具 现在当我尝试从 eclipse 启动 Jboss 5 时 我遇到了这个前所未有的错误 这是一个很大的例外 3 53 10 693 ERROR AbstractKerne
  • Java:无法从同一包中的不同类访问静态变量

    这很奇怪 因为我有一个可以访问 Frame dimension getWidth 的 Character 类 及其伙伴 getHeight 但是当我想在 Map 类中使用它时 Eclipse 强调了它并且无法给我反馈 运行该程序最终会出现
  • 如何在Android Compose中使用otf类型字体文件?

    我正在学习使用 Android Jetpack Compose 现在我有一个正则 otf字体文件在资产 字体 我想在文本中使用它 java lang RuntimeException Font asset not found commonu
  • Android ADT Eclipse 插件,parseSDKContent 失败

    我刚刚设置了我的第一个 Android 开发环境 其中包括 日食3 5 Mac OS X 10 5 适用于 x86 mac 的 Android SDK ADT Eclipse 插件 0 9 6 我已将 set PATH 设置为我的 SDK
  • 让协程等待之前的调用

    我还没有完全掌握 Kotlin 协程 基本上我希望协程在执行之前等待任何先前的调用完成 下面的代码似乎可以工作 但它正在做我认为它正在做的事情吗 private var saveJob Job null fun save saveJob s
  • 引导类路径未与 -source 1.6 3 一起设置[重复]

    这个问题在这里已经有答案了 我在编译代码时遇到此错误 选项 引导类路径未与 source 1 6 一起设置 我知道有一些关于它的主题 但我就是不明白 我是初学者 所以对我来说有点复杂 该程序来自我的学校 我在家里使用 JDK 8 如您所知
  • Maven依赖log4j错误

    大家好 我遇到错误 无缘无故地破坏了我的构建 这是错误消息 error error reading m2 repository com sun jdmk jmxtools 1 2 1 jmxtools 1 2 1 jar error in
  • Kotlin super.finalize()

    当迁移到Kotlin from Java我遇到了一个问题 我覆盖了Object s finalize method Override protected void finalize throws Throwable stopTimer su
  • 如何将设备连接到Eclipse?

    我无法解决这个简单的问题 我正在尝试通过 USB 电缆将我的设备连接到 Eclipse 在我的 PC 上 我已经安装了 Eclipse 和 Android SDK 并且在模拟器上运行该程序运行良好 我已在我的电脑上下载并安装了 Samsun
  • eclipse中导入项目文件夹图标

    我在 Eclipse 工作区中新导入的 Maven 项目有J and M项目文件夹顶部的图标 项目和包资源管理器 而其他导入的 Maven 项目只有一个J icon 有人可以解释其中的区别吗 该项目有J装饰器被称为 Java 项目和具有M装
  • 如何在 Eclipse .classpath 文件中使用环境变量?

    在 Windows 中 我有一个环境变量 EXTERNAL LIB ROOT 指向 C Program Files MyExternalLibRoot 在另一台计算机上 它可能指向 C ExternalLibs 在 ant build xm
  • 如何使JavaScript函数在Eclipse“大纲视图”中可见?

    我有这样的代码 但如果它在匿名函数中定义 则无法打开函数大纲 类没有问题 我该如何概述something2 请分享一些提示 我可以将所有函数标记为构造函数 但这是无效的方法 start of track event required deb

随机推荐