RoboVM与Java SE兼容性。

huangapple go评论63阅读模式
英文:

robovm and java SE compatibility

问题

在一开始,我认为RoboVM是一个完整的Java虚拟机,但在尝试后,我意识到它并不是。显然,RoboVM没有实现所有Java SE虚拟机的功能,但我找不到记录哪些功能它没有实现。

当我尝试将freemarker和itext集成到RoboVM时,我遇到了许多兼容性问题,例如缺少java.beans包等。奇怪的是,它在编译时没有显示错误,只在iOS运行时才出现。

我找不到任何文档矩阵来描述RoboVM和Java SE(无论是Oracle还是OpenJDK)之间的实现差异(Java包)。我们是否实际上有这样的矩阵文档呢?

英文:

At the beginning, I thought robovm is a full Java VM, after I give it a try, realized it is not. Obviously robovm doesn't implement all the Java SE VM features, but what kind of features it doesn't implement, I can't find it documented somewhere.

I encounter many compatibility issue while I tried to integrate freemarker and itext into it. For example java.beans package missing and (a lot more actually) etc. The weird things is, it doesn't show the error during compile time but only during iOS runtime.

I can't find any document matrix to describe the implementation difference (java packages) between robovm and Java SE (either Oracle or OpenJDK), do we actually have such matrix documented somewhere?

答案1

得分: 2

RoboVM(MobiVM)捆绑了Android 4.4运行时。并且Java RT Api仅限于4.4中的一个。正在进行工作,将Android 10/11的libcore引入RoboVM。RoboVM在编译期间显示有关缺少类的警告(作为幻像类消息),而不是错误。在Java运行时世界中,“类未找到”是正常情况。

英文:

RoboVM (MobiVM) bundles Android 4.4 runtime.
And Java RT Api is limited to one that was in 4.4.
There is work in progress to bring Android 10/11 libcore to RoboVM.
RoboVM shows warning about missing classes (as phantom class message) during compilation, not error. As class not found it is normal case in Java runtime world.

huangapple
  • 本文由 发表于 2020年8月13日 10:33:01
  • 转载请务必保留本文链接:https://go.coder-hub.com/63387304.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定