Major changes in 3.0.0 release
- Bootstrapping with bootstrapconnector.jar replaced by LibreOffice's own javaunohelper bootstrap
- UNO jars dropped from lib directory and pulled from Maven central repository during build
- Added a customized URLClassLoader (OfficeLoader) that will find UNO installation on the system
and/or allow specifying an own path to soffice
Important advice if you are updating from older versions of noa-libre
- UNO runtime environment (URE) jars are no longer bundled with noa-libre. What does this mean?
- For building your application, you need to add URE (and/or officebean) jars to your build-time classpath
- For deployment, you need to tell your application where to search for UNO on the system. You may use a customized classloader (OfficeLoader, see below) from noa-libre for that.
- Do not add URE jars to your runtime classpath -- this makes bootstrapping of LibreOffice fail
- It is recommended to load your application's main class with the derivative of URLClassLoader that is aware of possible locations of UNO on the system that will be then used in runtime. Feel free to use noa-libre's OfficeLoader (ag.ion.bion.officelayer.util.OfficeLoader). It searches UNO in the following locations (in this order):
- Path from noa configuration (IOfficeApplication.APPLICATION_HOME_KEY)
- com.sun.star.lib.loader.unopath Java property
- UNO_PATH environment variable
- (Windows only) Registry key Software\LibreOffice\UNO\InstallPath
- (Linux/Mac) PATH environment variable
- (Linux/Mac) 'which soffice'
See for example Snippet15 or Lo4ConnectionTest how that can be done