Ruby MRI能否执行JAR文件及是否内置JVM问题咨询
核心结论
- Ruby(MRI)本身既不能直接执行JAR文件,也没有内置JVM,你的现有认知存在偏差。
- Concurrent Ruby gem内置的JAR文件是针对JRuby运行环境的适配组件,和MRI完全无关。
这个gem做了多Ruby实现的兼容适配,打包时会把不同运行环境需要的代码都打进同一个安装包:运行在JRuby上时才会调用JAR相关的逻辑,运行在MRI上时会自动加载纯Ruby或C扩展实现的对应逻辑,全程不会用到包里的JAR文件。 - 如果你确实需要在MRI环境中调用JAR文件功能,需要单独安装
rjb(Ruby Java Bridge)这类第三方扩展,同时本地必须提前安装独立的JDK/JRE运行环境,该能力完全由第三方扩展提供,和MRI本身的内置功能无关。
内容的提问来源于stack exchange,提问作者Giri
相关产品推荐
相关产品推荐

