2013-03-19 15 views
5

Właśnie zacząłem opracowywać projekt Java używając pakietu SDK 4.0.1 UNO firmy LibreOffice, aaa ... Na samym początku utknąłem. Myślę, że to samo można zastosować, jeśli użyłem OpenOffice.org zamiast LibreOffice, więc każda pomoc jest doceniana.Rozpoczęcie pracy z UNO i Javą z Open/LibreOffice

Używam Eclipse Juno 4.2 i stworzyłem projekt podobny do "Hello World". Dodałem katalog /program do ścieżki klasy (dodany jako folderu zewnętrznego klasy), a zaraz na początku tego wiersza kodu

XComponentContext ctx = Bootstrap.bootstrap(); 

zgłasza UnsatisfiedLinkError wyjątek z poniższego śladu stosu:

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) 

Wokół instrukcji jest nawet try/catch, ale nie jest on wyzwalany.

Nie mogę znaleźć dobrej dokumentacji na temat rozpoczęcia pracy z UNO, więc nie wiem, co poszło nie tak. Zestaw SDK jest zainstalowany i skonfigurowane są zmienne środowiskowe.

Czy brakuje mi czegoś?

Edytuj: I'using Windows 7 64 bit. Może to ma coś wspólnego z problemem.

+0

Wypróbuj następujące połączenia: '-accept = GNIAZDO, gospodarz = localhost, port = 8100; urp; StarOffice.ServiceManager' Od http://www.oooforum.org/forum/viewtopic.phtml?t=27578 –

+0

@zachlatta Niestety, otrzymuję taki sam wynik. – MaxArt

+0

Czy zmienne środowiskowe Java są ustawione poprawnie? –

Odpowiedz

6

To wszystko, biblioteka jpipe.dll nie została znaleziona w katalogach wymienionych w zmiennej środowiskowej PATH. Musiałem dodać ścieżkę LibreOffice 4.0/URE/bin do tego.

Dodanie ścieżki do java.library.path nie działa.

Więc po samym irytujące instalacji SDK, który wymaganej GNU uczynić narzędzie, że nie będzie używał i zmusił mnie do zainstalowania MinGW i przyniesienie narzędzia zip, że nie może po prostu znaleźć, ponieważ mirrors from info-zip.org (źródło podane przez api.libreoffice.org) to , wszystkie te głupie i nieudokumentowane problemy.

Gdy ten został rozwiązany, 64 bit rzeczą był rzeczywiście problem, ponieważ jpipe.dll jest tylko 32-bitowe biblioteki i nie może być załadowany, więc musiałem przełączyć się na 32 bitowej JDK/JRE w aby to zadziałało.

Mężczyzna. Mogę obejść się bez interfejsu przyjaznego dla użytkownika, ale to po prostu niepotrzebnie utrudnia życie programisty!

Dlatego oprogramowanie typu open source czasami jest do bani.

+3

dodaj '/ usr/lib/ure/lib' do classpath (dla' libjpipe.so') na linuxie –

2

Jeśli używasz 32-bit LibreOffice następnie u trzeba przełączyć 32 ale JDK do work.Otherwise pobrać najnowszą wersję LibreOffice z 64bit