【发布时间】:2013-01-20 09:15:16
【问题描述】:
我正在编写一个应该与大型 .NET 库交互的 OpenOffice 扩展。正如here 所建议的那样,一个合理的解决方案是使用 IKVM.NET 和用 Java 编写的扩展,它与 Mono 库交互。然而,问题是,如何引入 IKVM.NET 作为 OpenOffice 的 JRE。
【问题讨论】:
标签: java .net mono openoffice.org ikvm
我正在编写一个应该与大型 .NET 库交互的 OpenOffice 扩展。正如here 所建议的那样,一个合理的解决方案是使用 IKVM.NET 和用 Java 编写的扩展,它与 Mono 库交互。然而,问题是,如何引入 IKVM.NET 作为 OpenOffice 的 JRE。
【问题讨论】:
标签: java .net mono openoffice.org ikvm
我认为如果不重新编译 OpenOffice,这是不可能的。 OpenOffice 有一个非常强大的 Java VM 检查。如果你想这样做,那么你需要:
或者,您可以将 IKVM 的供应商更改为“Oracle Corporation”并重建它。
但我不知道这应该如何与单声道一起使用。
【讨论】:
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。