Hi Wouter, why not using this: http://codesnippets.services.openoffice.org/Office/Office.BootstrapOpenOffice.snip
Greetings, Tobias Wouter van Reeven schrieb: > Hi guys, > > > In the past I have been playing around with the OOo SDK trying to bootstrap > OOo > without knowing in advance what the path to the OOo program directory is. I > have > written a few blogs about OOo and one of the questions I frequently get is how > to do just that. People are very much interested in creating applications that > do OOo stuff either from Java Web Start or through another mechanism. > > Masically, the problem is quite simple to explain. Suppose we have a > configuration file, e.g. <home>/.oooprops, that contains one or more lines > stating the location of OOo, e.g. > > OOO_HOME=/usr/lib/openoffice > > In this directory, the program dir should be. The default bootstrap method > cannot be used since this needs to have the path above (or actually > $OOO_HOME/program) in java.library.path. On Windows, this can be done by > adding > $OOO_HOME/program to the PATH variable, on Linux by adding $OOO_HOME/program > to > the LD_LIBRARY_PATH variable. What if our users, for whatever reason, are not > capable of adding $OOO_HOME/program to either one of those variables? > > In order to sove that issue I dug into the Bootstrap javadoc and browsed a lot > via Google, OOo forums etc and finally found out that there is a SYSBINDIR > variable that can be set. I wrote this next piece of Java code > > private void myBootstrap() { > System.out.println("java.class.path = \"" + > System.getProperty("java.class.path") + "\""); > System.out.println("java.library.path = \"" + > System.getProperty("java.library.path") + "\""); > try { > String sofficepath = "file:///usr/lib/openoffice/program"; > String unoini = sofficepath + "/unorc"; > Hashtable<String, String> bootProperties = new Hashtable<String, > String>(); > bootProperties.put("SYSBINDIR", sofficepath); > bootProperties.put("ORIGIN", sofficepath); > XComponentContext xContext = > Bootstrap.defaultBootstrap_InitialComponentContext(null, bootProperties); > } catch (Exception ex) { > > Logger.getLogger(MyOOoBootstrapper.class.getName()).log(Level.SEVERE, null, > ex); > } > } > > Whenever I execute the above method I get this error message: > > java.class.path = > "/usr/lib/openoffice/program/classes/juh.jar:/usr/lib/openoffice/program/classes/jurt.jar:/usr/lib/openoffice/program/classes/ridl.jar:/usr/lib/openoffice/program/classes/unoil.jar:build/classes/" > java.library.path = > "/usr/lib/jvm/java-6-sun-1.6.0.00/jre/lib/i386/client:/usr/lib/jvm/java-6-sun-1.6.0.00/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.00/jre/../lib/i386:/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib::/usr/java/packages/lib/i386:/lib:/usr/lib" > Exception in thread "main" java.lang.UnsatisfiedLinkError: no juh in > java.library.path > at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682) > at java.lang.Runtime.loadLibrary0(Runtime.java:823) > at java.lang.System.loadLibrary(System.java:1030) > at > com.sun.star.comp.helper.Bootstrap.defaultBootstrap_InitialComponentContext(Bootstrap.java:213) > at > nl.reeven.van.test.ooo.MyOOoBootstrapper.myBootstrap(MyOOoBootstrapper.java:34) > at > nl.reeven.van.test.ooo.MyOOoBootstrapper.main(MyOOoBootstrapper.java:22) > > Just for fun, I did > > export LD_LIBRARY_PATH=/usr/lib/openoffice/program > > and now I get this error > > java.class.path = > "/usr/lib/openoffice/program/classes/juh.jar:/usr/lib/openoffice/program/classes/jurt.jar:/usr/lib/openoffice/program/classes/ridl.jar:/usr/lib/openoffice/program/classes/unoil.jar:build/classes/" > java.library.path = > "/usr/lib/jvm/java-6-sun-1.6.0.00/jre/lib/i386/client:/usr/lib/jvm/java-6-sun-1.6.0.00/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.00/jre/../lib/i386:/usr/lib/openoffice/program:/usr/java/packages/lib/i386:/lib:/usr/lib" > Feb 7, 2008 11:53:57 AM nl.reeven.van.test.ooo.MyOOoBootstrapper myBootstrap > SEVERE: null > com.sun.star.uno.RuntimeException: cannot get mapping C++ <-> Java! > at com.sun.star.comp.helper.Bootstrap.cppuhelper_bootstrap(Native Method) > at > com.sun.star.comp.helper.Bootstrap.defaultBootstrap_InitialComponentContext(Bootstrap.java:218) > at > nl.reeven.van.test.ooo.MyOOoBootstrapper.myBootstrap(MyOOoBootstrapper.java:34) > at > nl.reeven.van.test.ooo.MyOOoBootstrapper.main(MyOOoBootstrapper.java:22) > > I am not able to find anything about that error message via Google or OOo > forums. Would anyone have a clue what this error means and how to solve it? By > the way, I am using OOo 2.3.1 on Debian Linux. > > > Thanks, Wouter van Reeven > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]