IKVM.NET 作为 OpenOffice 的 JRE
Posted
技术标签:
【中文标题】IKVM.NET 作为 OpenOffice 的 JRE【英文标题】:IKVM.NET as the JRE for OpenOffice 【发布时间】:2013-01-20 09:15:16 【问题描述】:我正在编写一个应该与大型 .NET 库交互的 OpenOffice 扩展。正如here 所建议的那样,一个合理的解决方案是使用 IKVM.NET 和用 Java 编写的扩展,它与 Mono 库交互。然而,问题是,如何引入 。
【问题讨论】:
【参考方案1】:我认为如果不重新编译 OpenOffice,这是不可能的。 OpenOffice 有一个非常强大的 Java VM 检查。如果你想这样做,那么你需要:
将 ikvm.exe 重命名或复制为 java.exe。 使用 IKVM 的设置对 Java 7 的 this fix checkin 进行等于更改。供应商是“Jeroen Frijters”。当前的 ikvm 版本为 1.7.0。然后重建 OpenOffice 或 LibreOffice。 然后在菜单工具-选项-OpenOffice.org-Java中输入IKVM bin父目录的路径或者,您可以将 IKVM 的供应商更改为“Oracle Corporation”并重建它。
但我不知道这应该如何与单声道一起使用。
【讨论】:
谢谢。这真的是一个很好的提醒。事实上,没有必要重新编译整个 OpenOffice。检查由sunjavaplugin.so
(Windows 中的sunjavaplugin.dll
)完成,而javavendors.xml
又使用javavendors.xml
,我只需修补这两个文件,让OpenOffice 将“Jeroen Frijters”识别为新供应商。另一方面,OpenOffice 使用JREProperties.class
提取供应商属性(如java.vendor
、java.version
和java.home
)。更简单的方法可能是修补 JREProperties.java
以在供应商是“Jeroen Frijters”时误导 OpenOffice。
然而,JNI_CreateJavaVM
没有在 IKVM.NET 中实现,并且(如果我是对的)它不能用作 OO 的 JRE。
我不明白你的意思。看来我是 java.exe 正在调用。为什么需要 CreateJavaVM?您应该联系邮件列表。有更好的专家。以上是关于IKVM.NET 作为 OpenOffice 的 JRE的主要内容,如果未能解决你的问题,请参考以下文章