【问题标题】:IKVM.NET as the JRE for OpenOfficeIKVM.NET 作为 OpenOffice 的 JRE
【发布时间】:2013-01-20 09:15:16
【问题描述】:

我正在编写一个应该与大型 .NET 库交互的 OpenOffice 扩展。正如here 所建议的那样,一个合理的解决方案是使用 IKVM.NET 和用 Java 编写的扩展,它与 Mono 库交互。然而,问题是,如何引入 IKVM.NET 作为 OpenOffice 的 JRE。

【问题讨论】:

    标签: java .net mono openoffice.org ikvm


    【解决方案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.vendorjava.versionjava.home)。更简单的方法可能是修补 JREProperties.java 以在供应商是“Jeroen Frijters”时误导 OpenOffice。
    • 然而,JNI_CreateJavaVM 没有在 IKVM.NET 中实现,并且(如果我是对的)它不能用作 OO 的 JRE。
    • 我不明白你的意思。看来我是 java.exe 正在调用。为什么需要 CreateJavaVM?您应该联系邮件列表。有更好的专家。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-26
    • 2012-10-01
    相关资源
    最近更新 更多