如何修复kotlin的bazel项目?
我希望能够使用bazel组织一个简单的kotlin项目 我正在使用规则_kotlin()中列出的模板 这是我的构建文件如何修复kotlin的bazel项目?,kotlin,bazel,Kotlin,Bazel,我希望能够使用bazel组织一个简单的kotlin项目 我正在使用规则_kotlin()中列出的模板 这是我的构建文件 load("@io_bazel_rules_kotlin//kotlin:kotlin.bzl", "kt_jvm_library") kt_jvm_library( name = "redis-tools", srcs = glob(["*.kt"]), deps = [], ) 这是我的工作区文件 load("@bazel_tools//tool
load("@io_bazel_rules_kotlin//kotlin:kotlin.bzl", "kt_jvm_library")
kt_jvm_library(
name = "redis-tools",
srcs = glob(["*.kt"]),
deps = [],
)
这是我的工作区文件
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
rules_kotlin_version = "legacy-1.3.0"
rules_kotlin_sha = "4fd769fb0db5d3c6240df8a9500515775101964eebdf85a3f9f0511130885fde"
http_archive(
name = "io_bazel_rules_kotlin",
urls = ["https://github.com/bazelbuild/rules_kotlin/archive/%s.zip" % rules_kotlin_version],
type = "zip",
strip_prefix = "rules_kotlin-%s" % rules_kotlin_version,
sha256 = rules_kotlin_sha,
)
load("@io_bazel_rules_kotlin//kotlin:kotlin.bzl", "kotlin_repositories", "kt_register_toolchains")
kotlin_repositories() # if you want the default. Otherwise see custom kotlinc distribution below
kt_register_toolchains() # to use the default toolchain, otherwise see toolchains below
My kotlin文件main.kt
:
import java.util.Scanner
fun main(args: Array<String>) {
// Creates a reader instance which takes
// input from standard input - keyboard
val reader = Scanner(System.`in`)
print("Enter a number: ")
// nextInt() reads the next integer from the keyboard
var integer:Int = reader.nextInt()
// println() prints the following line to the output screen
println("You entered: $integer")
}
我没有击中目标吗?如何从bazel输出运行
main.tk
?您试图运行的jar缺少声明其主类的清单文件
为了执行二进制文件,Bazel使用一个shell脚本包装器,其中包括所需的jvm标志及其运行时依赖项
请注意,您使用的是kt\ujvm\u库
。此规则在不使用包装器的情况下构建共享依赖项。要包含包装器,您应该使用kt\u jvm\u binary
规则。然后,您可以通过设置main\u class
属性来指定主类
注意,您可以使用bazel运行:redis工具运行jar(使用-s
查看bazel执行了哪个脚本)
您还可以使用bazel build:redis-tools_deploy.jar
构建一个“胖jar”,其中将包含清单
$ java -jar bazel-out/darwin-fastbuild/bin/redis-tools.jar
no main manifest attribute, in bazel-out/darwin-fastbuild/bin/redis-tools.jar