首页 文章

使用Open / LibreOffice开始使用UNO和Java

提问于
浏览
6

我刚刚开始使用LibreOffice的4.0.1 UNO SDK开发一个Java项目,aaaand ...我在开始时几乎陷入困境 . 如果我使用OpenOffice.org而不是LibreOffice,我认为同样适用,所以任何帮助都表示赞赏 .

我正在使用Eclipse Juno 4.2,我创建了一个类似于"Hello World"的项目 . 我将 /program 目录添加到类路径(添加为外部类文件夹),并在此行代码的开头

XComponentContext ctx = Bootstrap.bootstrap();

使用以下堆栈跟踪抛出 UnsatisfiedLinkError 异常:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no jpipe in java.library.path
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.lang.System.loadLibrary(Unknown Source)
    at com.sun.star.lib.util.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:50)
    at com.sun.star.lib.connections.pipe.PipeConnection.<clinit>(PipeConnection.java:48)
    at com.sun.star.lib.connections.pipe.pipeConnector.connect(pipeConnector.java:110)
    at com.sun.star.comp.connections.Connector.connect(Connector.java:114)
    at com.sun.star.comp.urlresolver.UrlResolver$_UrlResolver.resolve(UrlResolver.java:108)
    at com.sun.star.comp.helper.Bootstrap.bootstrap(Bootstrap.java:301)
    at xx.test.unotest.UnoTest.main(UnoTest.java:16)

围绕指令甚至还有 try/catch 但它没有被触发 .

关于开始使用UNO,我找不到合适的文档,所以我不知道出了什么问题 . 安装SDK并配置环境变量 .

我错过了什么吗?

Edit :我正在使用Windows 7 64位 . 也许这与问题有关 .

2 回答

  • 2

    好吧,'s it, the library jpipe.dll wasn'在 PATH 环境变量中列出的目录中找到了 . 我必须添加路径LibreOffice 4.0 / URE / bin .

    添加到 java.library.path 的路径不起作用 .

    因此,在一个非常讨厌的SDK安装之后,由于来自info-zip.org(api.libreoffice.org给出的源代码)的镜像全部关闭,因此需要一个我赢得的GNU make工具,我仍然可以找到它 . 这些愚蠢和无证的问题 .

    一旦解决了这个问题,64位的东西实际上是一个问题,因为jpipe.dll是一个只有32位的库并且无法加载,所以我不得不切换到32位JDK / JRE以使其工作 .

    人 . 我可以没有一些界面用户友好性,但这只是让开发人员的生活变得不必要!

    这就是开源软件有时很糟糕的原因 .

  • 6

    如果你使用32位libreoffice,那么你需要切换32但是jdk才能工作 . 否则下载最新版本的64bit libreoffice

相关问题