【问题标题】:Kotlin And Java In The Same Project Using Eclipse IDEKotlin 和 Java 在同一个项目中使用 Eclipse IDE
【发布时间】:2016-07-04 22:26:30
【问题描述】:

我发布了一个关于 gradle 的类似问题,但这个问题没有 gradle 或 maven。

我无法使用 Eclipse IDE 让 Kotlin 正常工作。这在使用 IntelliJ 时效果很好,但是许多开发人员仍然使用 Eclipse。我已经安装了 Kotlin Eclipse 插件并且无法正常工作。我已经下载了 Kotlin 标准库和运行时库并将它们添加到项目中。还是行不通。当我拥有 Java 和 Kotlin 时,我在 eclipse 中得到的只是无法解析为指定的类型。

我没有使用 maven 或 gradle,因为我无法让它与这两者一起使用。

如果我在同一个源文件夹中混合 Java 和 Kotlin,我会收到此错误。 “类型错误。NonExistentClass 无法解析。它是从所需的 .class 文件中间接引用的”

我正在使用 Eclipse Neon。如果有人可以帮助我,那将是很棒的,我已经尝试了很长一段时间,但没有得到任何结果。 :(

【问题讨论】:

  • 请尝试修改并保存 Kotlin 源文件。您还可以检查“Kotlin Runtime Library/kotlin_bin”文件夹下是否有一些类文件? (如截图:prnt.sc/bp5eym
  • Mikhail Zarechenskiy,感谢您的回复。我看了看,“Kotlin Runtime Library/kotlin_bin 这是一个截图。prnt.sc/bpetrg 我该如何解决这个问题?我尝试删除插件并重新添加插件并配置我的构建路径,但仍然没有没有运气。:(我正在使用的项目在这里找到github.com/Vult-R/Astraeus-Java-Framework
  • Kotlin 对 Eclipse 的支持有多成熟?
  • 多年前我们发现 netBeans 在处理 Ruby 方面比 Eclipse 好得多,所以也许使用不同的 IDE 可能是一种解决方案,只是短期内

标签: eclipse kotlin


【解决方案1】:

通过将新的 Kotlin 文件添加到 Kotlin/Java 混合项目中解决了类似的问题。添加该文件导致 Eclipse 2018-09 (4.9.0) 将 kotlin-stdlib.jar 和 kotlin-reflect.jar 添加到类路径中,一切都开始工作了。

【讨论】:

    【解决方案2】:

    添加 Kotlin Nature 解决了这个问题。单击您的项目并配置 Kotlin -> 添加 Kotlin 性质

    这部分解决了这个问题,虽然 eclipse 插件仍然存在错误,并且自动导入功能仍然对我不起作用。

    如果您有任何问题,请确保您在项目中添加了 kotlin_bin 文件夹。还要确保所有 kotlin 文件都具有正确的包名称,有时当您重命名包或在 kotlin 类周围移动文件时可能不会更新。

    【讨论】:

    • 似乎 Kotlin 插件不会(重新)为 .kt 文件生成 .class 文件,除非我们运行其中一个 .kt 文件。有没有办法解决这个问题?在现有的 Spring Boot 应用程序中,我试图在 Kotlin 中添加一个新控制器
    【解决方案3】:

    添加 Kotlin Nature 解决了这个问题。点击你的项目并配置 Kotlin -> 添加 Kotlin 性质

    【讨论】:

    • 从 eclipse photon 开始,我实际上并不认为这是我项目中的一个选项。
    • 这并不能解决我的问题。我已将 Kotlin 特性和单个 .kt 文件添加到我的项目中。 Kotlin 源代码编辑器可以工作,但 .kt 文件未编译。
    • 我能够通过添加 Kotlin 特性并使用 New > Other > Kotlin > Kotlin Class 添加新类来解决问题。简单地将 *.kt 文件添加到我的项目中不起作用。
    【解决方案4】:

    截至当前 Eclipse 版本(2019-09):

    您不能将 Kotlin 添加到 Java 项目中,但您可以将 Java 添加到 Kotlin 项目中

    完成混合 Kotlin/Java 项目的过程大致如下:

    1. 安装 Kotlin 插件
    2. 创建空的 Kotlin 项目
    3. 将 Java 代码移动到 Kotlin 项目中
    4. 删除原项目
    5. 修复项目引用

    【讨论】:

      【解决方案5】:

      我正在使用 Spring Boot 和 Kotlin(Java 中的一些控制器/映射器/类和 Kotlin 中的其他一些控制器/映射器/类)开发一个项目,在尝试了很多方法之后,唯一有效的是使用 Eclipse 03-2020 和 Kotlin Eclipse V0.8.19 插件。

      https://dl.bintray.com/jetbrains/kotlin/eclipse-plugin/0.8.19/

      • 在一切之前,请关闭您的项目并卸载以前版本的 Kotlin Plugin for Eclipse。
      • 转到帮助/安装新软件。
      • 复制 Eclipse Plugin 的链接并继续安装(不要忘记检查所有要安装的选项)。
      • 安装后重启 IDE 并再次尝试编译。

      【讨论】:

        【解决方案6】:

        如果你的项目和我的一样,它在 /src/main/kotlin 中有 .kt 文件,在 Java 中缺少一些引用。我尝试编译它们,但没有任何效果。事实证明,我的项目没有与 kotlin 代码关联的 Eclipse 源文件夹。 “src/main/java”、“src/main/resources”有常见的,但“src/main/kotlin”没有。

        所以,我为 kotlin 文件创建了一个源文件夹。

        1. 右键单击项目
        2. 新的“源文件夹”
        3. 指定文件夹名称:“/src/main/kotlin”

        这不会在文件系统中创建任何内容,而只是为 Eclipse 创建一个逻辑容器来处理内容。在这种情况下,Eclipse 识别出 .kt 文件并对其进行编译,并且所有丢失的引用问题都已清除。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-08-04
          • 2018-06-20
          • 1970-01-01
          • 2015-01-20
          • 1970-01-01
          • 2015-05-22
          • 2013-09-25
          • 1970-01-01
          相关资源
          最近更新 更多