无法在 Eclipse 中使用 Kotlin 项目运行 Spring Boot

Posted

技术标签:

【中文标题】无法在 Eclipse 中使用 Kotlin 项目运行 Spring Boot【英文标题】:Unable to run Spring Boot with Kotlin project in Eclipse 【发布时间】:2019-01-27 05:41:15 【问题描述】:

我安装了Eclipse PhotonKotlin plugin for Eclipse 0.8.6Spring Tools 3.9.5.RELEASE 插件。我按照these 的说明使用向导创建了一个新项目:

然后我创建了一个新的Run Configuration 并按照参考中的说明编辑了主类:

运行项目后,我得到了这个错误:

Error: Could not find or load main class com.kotlinexample.KotlinExampleApplicationKt
Caused by: java.lang.ClassNotFoundException: com.kotlinexample.KotlinExampleApplicationKt

我检查了我的 build.gradle 和 this 文档,看起来还可以:

buildscript 
    ext 
        kotlinVersion = '1.2.51'
        springBootVersion = '2.0.4.RELEASE'
    
    repositories 
        mavenCentral()
    
    dependencies 
        classpath("org.springframework.boot:spring-boot-gradle-plugin:$springBootVersion")
        classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion")
        classpath("org.jetbrains.kotlin:kotlin-allopen:$kotlinVersion")
    


apply plugin: 'kotlin'
apply plugin: 'kotlin-spring'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

group = 'com.kotlinexample'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
compileKotlin 
    kotlinOptions 
        freeCompilerArgs = ["-Xjsr305=strict"]
        jvmTarget = "1.8"
    

compileTestKotlin 
    kotlinOptions 
        freeCompilerArgs = ["-Xjsr305=strict"]
        jvmTarget = "1.8"
    


repositories 
    mavenCentral()


dependencies 
    compile('org.springframework.boot:spring-boot-starter-thymeleaf')
    compile('org.springframework.boot:spring-boot-starter-web')
    compile('com.fasterxml.jackson.module:jackson-module-kotlin')
    compile("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
    compile("org.jetbrains.kotlin:kotlin-reflect")
    runtime('com.h2database:h2')
    testCompile('org.springframework.boot:spring-boot-starter-test')

【问题讨论】:

你的 Kotlin 源码呢? Kotlin plugin for Eclipse 0.8.6 【参考方案1】:

我知道我迟到了,但我遇到了同样的问题。右键单击该项目并执行 Configure Kotlin,然后 Add Kotlin Nature 为我完成了这项工作。

【讨论】:

正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。【参考方案2】:
    尝试创建一个 Maven 项目而不是 Gradle。 安装 Eclipse Kotlin 插件 安装最新的 AspectJ 开发工具插件 通过转到 Preferences 选择 JDK 版本,然后进行以下设置:

首选项 => Kotlin +> 编译器 => JVM 目标版本 = 1.8

首选项 => Kotlin +> 编译器 => JDK 主页 = path_to_your_jdk_installation

    在 Main 类声明之前添加 Kotlin open 关键字,如下例所示:
@SpringBootApplication
open class KotlinExampleApplication  ... 

    使用 maven (mvn clean install) 编译您的项目

    像你一样通过 Spring 仪表板运行它

【讨论】:

以上是关于无法在 Eclipse 中使用 Kotlin 项目运行 Spring Boot的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot Kotlin 项目在 Eclipse 中不起作用

无法在 Kotlin 多平台项目中调试 iOS 应用程序

无法使用 kotlin-multipatform 项目

在 Intellij 中更新 Kotlin 后在 Eclipse 中运行应用程序时出错

无法在 Kotlin 中构建注释处理器

无法在 Kotlin Multiplatform 项目中引用 kotlinx.cinterop 包