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]

Reply via email to