2013-03-19 16 views
5

Ho appena iniziato a sviluppare un progetto Java utilizzando l'UNO SDK di 4.0.1 di LibreOffice, aaa e ... Sono praticamente bloccato all'inizio. Penso che lo stesso si possa applicare se usassi OpenOffice.org invece di LibreOffice, quindi ogni aiuto è apprezzato.Introduzione a UNO e Java con Open/LibreOffice

Sto utilizzando Eclipse Juno 4.2 e ho creato un progetto simile a "Hello World". Ho aggiunto la directory /program al classpath (aggiunto come una cartella di classe esterno), e proprio all'inizio questa riga di codice

XComponentContext ctx = Bootstrap.bootstrap(); 

genera un'eccezione UnsatisfiedLinkError con la seguente analisi dello stack:

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) 

C'è anche un try/catch che circonda l'istruzione ma non è attivato.

Non riesco a trovare una documentazione decente su come iniziare con UNO, quindi non so cosa sia andato storto. L'SDK è installato e le variabili di ambiente sono configurate.

Mi manca qualcosa?

Modifica: utilizzo Windows 7 a 64 bit. Forse questo ha qualcosa a che fare con il problema.

+0

Provate il seguente collegamento: '-accept = presa, ospite = localhost, port = 8100; urp; StarOffice.ServiceManager' Da http://www.oooforum.org/forum/viewtopic.phtml?t=27578 –

+0

@zachlatta Purtroppo, ottengo lo stesso risultato. – MaxArt

+0

Le variabili di ambiente Java sono impostate correttamente? –

risposta

6

Bene, questo è tutto, la libreria jpipe.dll non è stata trovata nelle directory elencate nella variabile di ambiente PATH. Ho dovuto aggiungere il percorso LibreOffice 4.0/URE/bin a quello.

L'aggiunta del percorso allo java.library.path non funzionava.

Così, dopo l'installazione molto fastidioso SDK, che richiesto un GNU Make strumento che non userò e mi ha costretto a installare MinGW, e uno strumento zip merda che non poteva essere semplicemente trovato dal momento che la i mirror di info-zip.org (la fonte fornita da api.libreoffice.org) sono tutti in basso, I ancora hanno avuto questi problemi stupidi e non documentati.

Una volta che questo è stato risolto, la cosa 64 bit era realtà un problema, dal momento che è un jpipe.dll 32 bit biblioteca che non può essere caricato, quindi ho dovuto passare ad un 32 bit JDK/JRE in per farlo funzionare.

Man. Posso fare a meno dell'interfaccia utente, ma questo rende inutilmente difficile la vita di uno sviluppatore!

Ecco perché il software open source a volte fa schifo.

+3

aggiungi '/ usr/lib/ure/lib' a classpath (per' libjpipe.so') su linux –

2

Se si utilizza 32 bit di LibreOffice allora la u bisogno di cambiare 32 ma di JDK per work.Otherwise scaricare l'ultima versione di LibreOffice di 64bit