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

Max*_*Art 7 java eclipse openoffice.org uno libreoffice

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

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

XComponentContext ctx = Bootstrap.bootstrap();
Run Code Online (Sandbox Code Playgroud)

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)
Run Code Online (Sandbox Code Playgroud)

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

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

我错过了什么吗?

编辑:我使用Windows 7 64位.也许这与问题有关.

Max*_*Art 6

好吧,就是这样,在PATH环境变量中列出的目录中找不到库jpipe.dll .我必须添加路径LibreOffice 4.0/URE/bin.

添加路径java.library.path将无法正常工作.

因此,在一个非常讨厌的SDK安装之后,需要一个我不会使用的GNU make工具并强迫我安装MinGW,以及一个自从info-zip.org镜像以来无法找到的糟糕的zip工具( api.libreoffice.org给出的来源都是关闭的,我仍然有这些愚蠢和无证问题.

一旦解决了,64位的事情实际上是一个问题,因为jpipe.dll是一个只有32位的库,无法加载,所以我不得不切换到32位JDK/JRE,以使其发挥作用.

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

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

  • 在Linux上将`/ usr/lib/ure/lib`添加到classpath(对于`libjpipe.so`) (3认同)