Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在运行的JVM中注入和运行Scala代码_Java_Scala - Fatal编程技术网

Java 如何在运行的JVM中注入和运行Scala代码

Java 如何在运行的JVM中注入和运行Scala代码,java,scala,Java,Scala,可以在Java代码中动态编译和运行scala代码吗 使用mozilla rhino使用JS可以获得类似的结果。但是,我想知道scala是否有可能 理论上,是的。但你需要做很多事情: 确保用户输入了有效的scala代码 将源代码传输到服务器 编译scala代码 从服务器内部运行它(捕获错误、处理资源泄漏等) 所以,有可能:是的。合理的:没有那么多 很明显,有很多工作要做 获得良好的用户体验:甚至更多的工作(比如:告诉用户在源代码输入中您的编译步骤发现bug的确切位置…很难) 当然:打开你的

可以在Java代码中动态编译和运行scala代码吗


使用mozilla rhino使用JS可以获得类似的结果。但是,我想知道scala是否有可能

理论上,是的。但你需要做很多事情:

  • 确保用户输入了有效的scala代码
  • 将源代码传输到服务器
  • 编译scala代码
  • 从服务器内部运行它(捕获错误、处理资源泄漏等)
所以,有可能:是的。合理的:没有那么多

  • 很明显,有很多工作要做
  • 获得良好的用户体验:甚至更多的工作(比如:告诉用户在源代码输入中您的编译步骤发现bug的确切位置…很难)
当然:打开你的系统,你会遇到大量的攻击向量

如果你想让你的用户能够在后端服务器上运行代码,有人会问:为什么他们还没有对那台机器的管理员访问权限,并且能够自己在服务器上部署这些代码

当然,Scala有它的REPL,正如一条指向现有的注释所暗示的:这样做是绝对可能的


但正如所说:我们做事情不是因为我们能做,而是因为这样做是有意义的

twitter util eval库似乎提供了我所需要的,但它已经停止使用了

这是一把旧叉子:

出于好奇,为什么?也许这个答案会有所帮助:首先,让我说我同意GhostCat。但是,你考虑过使用吗?