在Ruby发行说明中,我经常发现JRuby的某个版本与哪个版本兼容。它与哪个版本的Java运行时兼容呢?
例如,http://jruby.org/2016/05/27/jruby-9-1-2-0页面提到它与Ruby2.x兼容,但对Java运行时版本只字不提。
发布于 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或更高版本
发布于 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的示例)作为版本字符串。
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;
}

https://stackoverflow.com/questions/38710647
复制相似问题