如何配置 kotlin 脚本项目依赖于当前模块?

Art*_*kin 6 kotlin kotlin-script

我想要:

  • .kts里面有文件的目录
  • 带有类的经典src/main/kotlin/my/package模块

并有如下用法:

kotlin my-script.main.kts
Run Code Online (Sandbox Code Playgroud)

my-script.main.kts脚本在示例中看起来像这样

#!/usr/bin/env kotlin

@file:Repository("https://jcenter.bintray.com")
@file:DependsOn("org.jetbrains.kotlinx:kotlinx-html-jvm:0.6.11")

import kotlinx.html.*; import kotlinx.html.stream.*; import kotlinx.html.attributes.*;
import my.package.*;

val addressee = args.firstOrNull() ?: "World"

print(createHTML().html {
    body {
        h1 { +"Hello, $addressee! from ${my.package.Greater.hello()}" }
    }
})


Run Code Online (Sandbox Code Playgroud)

限制:

  • 没有jar依赖项,首先将jar发布到maven repo,然后运行脚本
  • 简洁的设计,它应该是可扩展的,而不是 hello world 项目

如何配置 kotlin 脚本项目依赖于当前模块?到目前为止,最佳实践是什么?