问题 如何使用Gradle在AppEngine项目中使用Kotlin


就像标题所说,在开发AppEngine项目时如何使用Kotlin?我正在使用带有Gradle的IntelliJ / Android Studio作为我的构建工具。


10476
2018-04-08 11:19


起源



答案:


由于AppEngine执行编译的.class文件,因此它不关心JVM语言生成这些文件。这意味着我们可以使用Kotlin。

一种方法是使用Gradle和 Gradle App Engine插件。使用a创建项目 build.gradle 看起来像 这个。然后添加Kotlin依赖项并应用插件。最终的构建文件看起来像这样:

buildscript {
    ext.kotlin_version = '1.0.6' //replace with latest Kotlin version
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.google.appengine:gradle-appengine-plugin:1.9.32' //Replace with latest GAE plugin version
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

repositories {
    mavenCentral();
}

apply plugin: 'java'
apply plugin: 'kotlin'
apply plugin: 'war'
apply plugin: 'appengine'

sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7

dependencies {
    appengineSdk 'com.google.appengine:appengine-java-sdk:1.9.32' //Replace with latest GAE SDK version
    compile 'javax.servlet:servlet-api:2.5'
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}

appengine {
    downloadSdk = true
    appcfg {
        oauth2 = true
    }
}

从M11开始,您不需要为Kotlin文件设置单独的目录,因此您只需添加.kt文件即可 src/main/java


11
2018-04-08 11:19



截至2015年11月,Google Developer Console中的调试器只能调试.java文件。 Kotlin不支持实时调试。 - vonox7
不是一个完整的答案,所以只需在这里添加一条评论,说ktor项目包含一个示例应用程序引擎项目: github.com/ktorio/ktor-samples/tree/master/deployment/... - Dan Tanner


答案:


由于AppEngine执行编译的.class文件,因此它不关心JVM语言生成这些文件。这意味着我们可以使用Kotlin。

一种方法是使用Gradle和 Gradle App Engine插件。使用a创建项目 build.gradle 看起来像 这个。然后添加Kotlin依赖项并应用插件。最终的构建文件看起来像这样:

buildscript {
    ext.kotlin_version = '1.0.6' //replace with latest Kotlin version
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.google.appengine:gradle-appengine-plugin:1.9.32' //Replace with latest GAE plugin version
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

repositories {
    mavenCentral();
}

apply plugin: 'java'
apply plugin: 'kotlin'
apply plugin: 'war'
apply plugin: 'appengine'

sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7

dependencies {
    appengineSdk 'com.google.appengine:appengine-java-sdk:1.9.32' //Replace with latest GAE SDK version
    compile 'javax.servlet:servlet-api:2.5'
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}

appengine {
    downloadSdk = true
    appcfg {
        oauth2 = true
    }
}

从M11开始,您不需要为Kotlin文件设置单独的目录,因此您只需添加.kt文件即可 src/main/java


11
2018-04-08 11:19



截至2015年11月,Google Developer Console中的调试器只能调试.java文件。 Kotlin不支持实时调试。 - vonox7
不是一个完整的答案,所以只需在这里添加一条评论,说ktor项目包含一个示例应用程序引擎项目: github.com/ktorio/ktor-samples/tree/master/deployment/... - Dan Tanner