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

标签 java eclipse eclipse-plugin kotlin

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

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

enter image description here

但这是一个黑客行为。

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

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

enter image description here

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

最佳答案

正如我在上面的评论中提到的,事实上,不需要在 Maven 中添加任何内容即可让 Eclipse 编译 Kotlin 类,但需要 Maven 依赖项来运行它,这让我很困惑。

为了在 Eclipse + Kotlin 插件中运行具有 Kotlin 性质、包含 Java 和 Kotlin 代码的 Maven 项目,需要在 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 版本,该版本必须与插件使用的版本相同。

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

enter image description here

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

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

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

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

关于java - 使用类路径中的 Kotlin 运行时库执行 Java 和 Kotlin 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45949337/

相关文章:

java - Maven项目 "AmazonS3ClientBuilder() has private access in com.amazonaws.services.s3.AmazonS3ClientBuilder"

eclipse - 如何在 Eclipse 中折叠代码块?

java - 如何从 jdom 中删除空格或空行

jquery - 用于 Eclipse 和 jQuery 代码辅助的 Aptana 插件

eclipse - 所有开发平台的一个 IDE 实例?

Java:在for循环中递增变量

JavaFx 从可初始化访问构造函数参数

java - 两个选项卡之间的 float 操作按钮

java - 页面刷新有关

java - Eclipse指定方法——来自eclipse的提示