【发布时间】:2018-03-08 14:21:14
【问题描述】:
我只是想用 Kotlin 写一些例子。我所做的是创建一个 Jersey 应用程序,一切都很顺利,直到我尝试将 Main.java 类更改为 Main.kt。
生成的Main.java类有这个方法;
public static HttpServer startServer() {
final ResourceConfig rc = new ResourceConfig()
.packages("com.kotlinexperiments")
.register(new AbstractBinder() {
@Override
protected void configure() {
bind(new UserService()).to(IUserService.class);
}
});
return GrizzlyHttpServerFactory.createHttpServer(URI.create(BASE_URI), rc);
}
我尝试将其转换为 Kotlin 文件;
fun startServer(): HttpServer {
val resourceConfig = ResourceConfig()
.packages("com.kotlinexperiments")
.register(object: AbstractBinder() {
override fun configure() {
bind(UserService()).to(IUserService::class)
}
})
return GrizzlyHttpServerFactory.createHttpServer(URI.create(baseUri), resourceConfig)
}
问题是,当您在 IDE 中键入 bind(someInstance).to(class) 时,它会显示成员函数,但是当您运行/调试它时,它会添加已在 Tuples.kt 文件中定义的函数,该文件与kotlin-stdlib.
问题是,有没有办法调用成员函数?我尝试转义函数名等,但实际上没有任何效果。
谢谢!
【问题讨论】:
标签: jersey kotlin jersey-2.0 kotlin-extension