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

我在eclipse中创建了一个混合项目Java + Kotlin。 我添加了kotlin插件来日食,并添加kotlin性质的项目。 没有问题编译或与Maven建设。

当我执行该项目时,我得到一个异常,因为kotlin运行时jar不在那里。 没有问题了,我在运行配置中手动添加了jar,如下所示:

在这里输入图像描述

但是这是一个黑客。

任何人都可以告诉我最优雅的方式来告诉eclipse当我执行程序时添加eclipse kotlin插件所使用的相同的运行时,这样如果我更新插件,运行时jar将保持同步。

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

在这里输入图像描述

这似乎很简单,但我无法找到正确的方法来做到这一点…

正如我在上面的评论中提到的,事实上,不需要在Maven中添加任何东西来编译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插件源代码库来确保这一点。

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

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

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