IntelliJ项目“ JS客户端和JVM服务器| Gradle”不起作用

时间:2019-08-03 13:34:15

标签: gradle intellij-idea kotlin netty ktor

当我使用Intellij Ultimate 2019.2创建指定的项目类型时

然后构建项目(F11)

出现以下错误:

build error

但是,当我运行SampleJvm.kt时: run

开始联网,一切似乎都很好。 不幸的是,代码无法正常工作:

still an error

问题似乎是后端找不到 编译的testy.js,应作为资源加载 然后添加到HTML网站:

issue

我上传了该项目以供下载: https://file.io/Jj50Ow

非常感谢您的任何建议, 最佳克里斯

2 个答案:

答案 0 :(得分:0)

js文件已生成并打包在jar文件中,但是JVM服务器对该JAR文件没有依赖性,因此它会生成404。

打开build.gradle文件并滚动到底部,将jsJar添加到dependsOn和类路径中:

task run(type: JavaExec, dependsOn: [jvmJar, jsJar]) {
    group = "application"
    main = "sample.SampleJvmKt"
    classpath(configurations.jvmRuntimeClasspath, jvmJar, jsJar)
    args = []
}

然后您可以使用gradle运行该应用程序。

答案 1 :(得分:0)

目前,新的项目生成器无法正确处理多平台项目。

有一个工作示例,后端有Ktor,前端有React,包括用于UI开发的热重装: https://github.com/Kotlin/kotlin-full-stack-application-demo

我能够使其与Kotlin Gradle DSL一起使用,并具有Spring Boot后端(包括能够从IDE进行调试)和热重载React前端: https://github.com/alexoooo/sample-multiplatform-boot-react

请注意,Kotlin多平台项目目前仍处于试验阶段,随着引入新的IR,某些细节可能会发生变化:https://blog.jetbrains.com/kotlin/2020/03/kotlin-1-4-m1-released/