使用类路径中的 Kotlin 运行时库执行 Java 和 Kotlin 程序

Executing Java and Kotlin program with the Kotlin runtime library in the classpath

我在 eclipse oxygen 中创建了一个混合项目 Java+Kotlin。我在eclipse中添加了kotlin插件,在项目中加入了kotlin nature。使用 maven 编译或构建没有问题。

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

但这是一个 hack。

任何人都可以告诉我最优雅的方法来告诉 eclipse 在我执行程序时添加与 eclipse kotlin 插件相同的 运行time,这样 运行time jar 将保留在如果我更新插件,请同步。

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

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

正如我在上面的评论中提到的,事实上不需要在 Maven 中添加任何东西来让 eclipse 编译 Kotlin 类 但需要 Maven 依赖关系 运行 它,把我弄糊涂了。

为了运行一个具有Kotlin性质的Maven项目,包含Java和Eclipse + Kotlin插件中的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),但我们也可以通过转到 public Kotlin plugin source code repository 来确保这一点。

在githubselect正确的分支。如果插件是最新的,可能 "master"。并检查 pom.xml.

中的 Kotlin 版本

如果该版本不在 Maven 中心,则需要在 pom.xml.[=15= 的 repositoriespluginRepositories 部分下添加相关存储库]

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