【发布时间】:2018-03-26 04:04:32
【问题描述】:
我正在检查Vert.x,这是一个可以以多种不同的 JVM 语言运行应用程序的框架。
vertx-examples 上提供了大量示例。
但问题是,(我还没有找到任何东西)我们如何以真正的多语言方式(同时使用所有受支持的 JVM 语言)编写 Vert.x 应用程序?
例如,我们如何编写使用以下文件的代码:
Java.java、Kotlin.kt、Javascript.js、Ruby.rb。
每个内部都有一个简单的函数来打印语言名称(例如 Ruby.rb 打印 ruby)。
例如,当使用这个输入时:
$vertx run Polyglot.java
我们如何才能实现以下输出?
java, kotlin, javascript, ruby
编辑,我的尝试:
Polyglot.java
import io.vertx.core.AbstractVerticle;
import io.vertx.core.Launcher;
import java.lang.management.ManagementFactory;
public class Polyglot extends AbstractVerticle {
public static void main(args: String[]) {
Launcher.main(new String[] { "run", Polyglot.class.getName(), "-ha"});
}
@Override
public void start() {
vertx.createHttpServer().requestHandler(req -> {
final String name = ManagementFactory.getRuntimeMXBean().getName();
req.response().end(
Java.message()
+ Kotlin.message()
);
}).listen(8080);
}
}
Java.java
public class Java {
public static String message() {
return "Java\n";
}
}
Kotlin.kt
class Kotlin {
companion object {
fun message() {
return "Kotlin\n"
}
}
}
vertx run Polyglot.java
【问题讨论】:
-
假设您已经尝试过,您遇到了哪个特定的障碍?
标签: java ruby jvm kotlin vert.x