在SBT / Play框架上运行Kotlin代码?

13

我是PlayFramework的忠实粉丝,但在SBT/Scala方面经验有限。我一直在努力使用更多的Kotlin,因此我正在尝试在SBT/PlayFramework上运行Kotlin。

我已经使用Gradle构建系统来使用Kotlin,但这要求我应用Kotlin Gradle插件。不确定如何为SBT做相当的操作。

以下是您的基本build.sbt文件,请问我该如何添加Kotlin?

name := """KotlinTestServer"""

version := "1.0-SNAPSHOT"

lazy val root = (project in file(".")).enablePlugins(PlayJava)

scalaVersion := "2.11.1"

libraryDependencies ++= Seq(
  javaJdbc,
  javaEbean,
  cache,
  javaWs
)

我需要将"org.jetbrains.kotlin" % "kotlin-stdlib" % "0.10.195"添加为库依赖,但还需要做什么?


1
作为另一种选择,你考虑过相反的方式吗?建议使用maven构建Play2应用程序。可以参考 https://code.google.com/p/play2-maven-plugin/ ,这样Kotlin集成就会更加直接了当。 - Lionel Port
感谢您的建议。我正在考虑使用Gradle构建,这将允许相同的事情。Gradle团队实际上正在官方地进行Play集成的工作,但是项目进展比我希望的要慢一些。我会研究一下maven插件。谢谢! - spierce7
Gradle对Play的支持在此处有文档记录,同时也列出了已知问题:https://docs.gradle.org/current/userguide/play_plugin.html - Jayson Minard
2个回答

12

虽然晚了8个月,但现在有了:Github kotlin-plugin

addSbtPlugin("com.hanhuy.sbt" % "kotlin-plugin" % "0.5")

3
大家对这个实践在项目中的表现有什么评论吗? - matanster
看起来这个插件已经不再维护了。 - Maziyar

0

编译Kotlin代码需要一些额外的配置,例如Kotlin插件……但据我所知,该插件不存在。

我不知道是否可以在SBT中重用Maven插件,这可能可行。或者您可以为Kotlin贡献自己的SBT插件。


我基本上需要手动执行插件所做的任何操作。关于SBT内部的Maven插件的想法很有趣,我会研究一下。 - spierce7
最后没能实现。 - spierce7
插件现在不存在。请查看其他答案。 - Jayson Minard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接