OpenOffice.org UNO Client Applications

See Also 

An OpenOffice.org UNO client application is a Java application that provides access to the OpenOffice.org API. It uses OpenOffice.org functionality in its own applications via a remote connection. Typical use cases are office automation tasks like:

This simple UNO client application requires a local OpenOffice.org installation on the computer where the application is running because it communicates over a named pipe connection with the OpenOffice.org process. The application automatically starts a new OpenOffice.org process, or if an OpenOffice.org process is already running it connects to this process. If no further option is specified, the default OpenOffice.org installation is used.

If you prefer to use a specific OpenOffice.org installation, you can overload the automatic search algorithm by specifying an office installation for the system property com.sun.star.lib.loader.unopath.
For example:

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

UNO client applications do not require a special environment to run. The necessary environment is prepared automatically by using a classloader mechanism that knows all the necessary API jar files in the OpenOffice.org installation.
The application includes some precompiled class files and a Microsoft Windows specific dll from the OpenOffice.org SDK in the application jar file, and the manifest is extended to make use of a special loader mechanism. The dll is included to make the client application platform independent.

Mainfest entries:

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

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

Bundled class fclass files and 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

See Also