Aplicações Cliente UNO do OpenOffice.org

Veja também 

Uma aplicação Cliente UNO do OpenOffice.org é uma aplicação Java que provê acesso a API do OpenOffice.org. Ela utiliza funcionalidades do OpenOffice.org em suas aplicação via uma conexão remota. Casos de uso típicos são tarefas de automação do office como:

Essa aplicação cliente UNO simples requer uma instalação local do OpenOffice.org no computador onde a aplicação está rodando porque ela comunica-se sobre uma conexão pipe nomeada com o processo do OpenOffice.org. A aplicação automaticamente inicializa um novo processo do OpenOffice.org, ou se um processo do OpenOffice.org já estiver rodando ela conecta-se a esse processo. Se nenhuma opção é especificada, a instalação padrão do OpenOffice.org é utilizada.

Se você preferir utilizar uma instalação específica do OpenOffice.org, você pode sobrescrever o algoritmo de busca automático especificando uma instalação do mesmo pela propriedade de sistema com.sun.star.lib.loader.unopath.
Por exemplo:

java -Dcom.sun.star.lib.loader.unopath="/opt/staroffice8/program" -jar MyApplication.jar

Aplicações cliente UNO não necessitam de um ambiente especial para rodar. O ambiente necessário é preparado automaticamente utilizando o mecanismo carregador de classes que conhece todos os arquivos jar de API necessário na instalação do OpenOffice.org.
A aplicação inclui alguns arquivos class pré-compilados e uma dll específica do Microsoft Windows do OpenOffice.org SDK no arquivo jar da aplicação, e o manifesto é extendido para fazer uso de um mecanismo de carregador especial. A dll é incluída para fazer a plataforma da aplicação cliente independente.

Entradas do manifesto:

Main-Class: com.sun.star.lib.loader.Loader

Name: com/sun/star/lib/loader/Loader.class
Application-Class: TestMinimalComponent

Arquivos fclass de classes embutidas e dll:

com/sun/star/lib/loader/Loader$CustomURLClassLoader.class
com/sun/star/lib/loader/Loader.class
com/sun/star/lib/loader/InstallationFinder$StreamGobbler.class
com/sun/star/lib/loader/InstallationFinder.class
com/sun/star/lib/loader/WinRegKey.class
com/sun/star/lib/loader/WinRegKeyException.class
win/unowinreg.dll

Veja também