【问题标题】:Executing Java and Kotlin program with the Kotlin runtime library in the classpath使用类路径中的 Kotlin 运行时库执行 Java 和 Kotlin 程序
【发布时间】:2017-08-29 22:44:43
【问题描述】:

我在 Eclipse 氧气中创建了一个混合项目 Java+Kotlin。我将kotlin插件添加到eclipse中,并将kotlin性质添加到项目中。使用 maven 编译或构建没有问题。

当我执行项目时出现异常,因为 kotlin 运行时 jar 不存在。再次没有问题,我在运行配置中手动添加了jar,如下所示:

但这是一个 hack。

谁能告诉我在我执行程序时告诉 eclipse 添加 eclipse kotlin 插件使用的相同运行时的最优雅方法,以便在我更新插件时所述运行时 jar 将保持同步。

如果有帮助,这就是库在项目构建路径中的样子:

看起来很简单,但我想不出正确的方法......

【问题讨论】:

  • 不应该在你的 pom.xml 中吗?
  • @nitind 你的意思是 kotlin 运行时作为依赖吗?
  • 我只是尝试将其添加为依赖项,它确实有效。它让我觉得 Eclipse 不需要它来编译,因为在将 kotlin 性质添加到项目时添加了库

标签: java eclipse eclipse-plugin kotlin


【解决方案1】:

正如我在上面的评论中提到的,不需要在 Maven 中添加任何东西就可以让 eclipse 编译 Kotlin 类但需要 maven 依赖项来运行它,这让我很困惑。

为了运行具有 Kotlin 特性的 Maven 项目,在 Eclipse + Kotlin 插件中包含 Java 和 Kotlin 代码,需要在 pom.xml 中添加运行时作为依赖项。

    <dependency>
        <groupId>org.jetbrains.kotlin</groupId>
        <artifactId>kotlin-runtime</artifactId>
        <version>${kotlin.version}</version>
    </dependency>
    <dependency>
        <groupId>org.jetbrains.kotlin</groupId>
        <artifactId>kotlin-stdlib</artifactId>
        <version>${kotlin.version}</version>
    </dependency>

顺便说一句,添加标准库也是可取的,因为代码很可能需要其中的类。

第二部分是找出要使用的 Kotlin 的正确版本,它必须与插件使用的版本相同。

为此,我们可以检查插件版本

编译器的版本已经存在(在本例中为 1.1.1),但我们也可以通过公开Kotlin plugin source code repository 来确保这一点。

在 github 中选择正确的分支。如果插件是最新的,则可能是“大师”。并检查 pom.xml 中的 Kotlin 版本。

如果该版本不在 maven Central 中,则需要在 pom.xml 的 repositoriespluginRepositories 部分下添加相关存储库。

不要从项目属性对话框的类路径部分的库选项卡中删除 Kotlin 库(这是我上面问题的图像中显示的内容)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多