Rony G. Flatscher wrote:
Stephan Bergmann wrote:
Unfortunately, with the advent of the Three-Layer Office (<http://wiki.services.openoffice.org/wiki/ODF_Toolkit/Efforts/Three-Layer_OOo>, starting DEV300m4) both the C++ and Java "simple bootstrap" mechanisms (<http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/ProUNO/C%2B%2B/Transparent_Use_of_Office_UNO_Components> and <http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/ProUNO/Java/Transparent_Use_of_Office_UNO_Components>) no longer work. The problems are as follows:

... cut ...

3 Java com.sun.star.lib.loader.Loader: Determines the location of an soffice application, locates classes/juh.jar relative to the soffice path, calls com.sun.star.comp.helper.UnoInfo.getJars there (which returns the list of URE jar URLs), and loads the subordinate application in a class loader that knows the URE jars. This no longer works, as juh.jar is now located somewhere else.

Problem 3 could most silently be fixed by adding a fake classes/juh.jar (containing only a modified com.sun.star.comp.helper.UnoInfo.getJars that returns the correct list of URE jar URLs) to each brand layer. The advantage is that an old Loader continues to work against a new soffice installation. The disadvantage is the somewhat dirty solution (have a classes subdir only for the fake juh.jar, have a fake juh.jar with the same name as the true juh.jar in the URE).
... cut ...

Just a question here:

   in order to allow for using OOo 2.x from Java, I have a setup
   routine that defines the classpath to point to
   "OOoHome/program/classes/jurt.jar",
   "OOoHome/program/classes/unoil.jar",
   "OOoHome/program/classes/ridl.jar", and
   "OOoHome/program/classes/juh.jar".

   Would that setup still work for OOo 3.x? If not, what is the
   recommended setup for classpath then?

No, that will no longer work. OOo is now split in three trees (URE, Basis, Brand), and the necessary jars are spread across two of those trees (jurt, ridl, juh in URE; unoil in Basis). If you are happy with a manual setup (for which there are no guarantees of stability, of course), see <http://wiki.services.openoffice.org/wiki/ODF_Toolkit/Efforts/Three-Layer_OOo> for details of how the lower (URE, Basis) layers can be located from the Brand layer (which probably most closely corresponds to what you denote OOoHome above). Or, better, try to use the "simple bootstrap" mechanisms instead of a manual setup---we will try to keep those mechanisms as stable as possible (though, as this thread shows, there are situations when that stability cannot be absolute).

-Stephan

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to