首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查哪个JRuby版本与哪个Java版本兼容?

如何检查哪个JRuby版本与哪个Java版本兼容?
EN

Stack Overflow用户
提问于 2016-08-02 09:53:13
回答 2查看 2.6K关注 0票数 2

在Ruby发行说明中,我经常发现JRuby的某个版本与哪个版本兼容。它与哪个版本的Java运行时兼容呢?

例如,http://jruby.org/2016/05/27/jruby-9-1-2-0页面提到它与Ruby2.x兼容,但对Java运行时版本只字不提。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-02 16:51:42

它不在发行说明中,因为它在不同的版本之间没有变化(除非指定),应该在下载附近,但不是。目前,你可以在项目README中找到。

JRuby的每个主要版本都支持在其发布时所支持的Java虚拟机,较新的点版本通常会修复对较新的Java版本的支持,但不会放弃对较旧版本的支持。因此:

JRuby 1.7.x支持Java6或更高版本(7、8,可能支持9)

Java9.0/1支持JRuby 7或更高版本(8,将支持Java9)

Java9.2/3仅支持JRuby 8或更高版本

票数 5
EN

Stack Overflow用户

发布于 2021-02-06 08:07:32

看起来jruby-1.7.27在openjdk 15下为我“工作”,只有一个变化:

平台类(core/src/main/java/org/jruby/ext/ffi/Platform.java)正在检测基于1.x版本字符串的版本,即Java1.5、1.6、1.7等,用于Java5、6、7。

openjdk使用: 15.0.2 (作为java 15的示例)作为版本字符串。

代码语言:javascript
复制
    protected Platform(OS_TYPE os) {
    ... (to line 231)
    int version = 5;
    try {
        String versionString = System.getProperty("java.version");
        if (versionString != null) {
            String[] v = versionString.split("\\.");
            
            //we are looking for the major version here
            //Oracle uses: 1.8.0_101 which has the major version in the second position
            //openjdk uses: 15.0.2
            version = Integer.valueOf(v[0]);
            if(version == 1) {
                version = Integer.valueOf(v[1]);
            }
        }
    } catch (Exception ex) {
        version = 0;
    }
    javaVersionMajor = version;
}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38710647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档