Rony G. Flatscher wrote:
> Hi there,
>
> have been running over a very strange problem (RedHat
Fedora Core 3, OOo
> 2.0.1 installed parallel to OOo 1.1.4): addressing OOo
via Java (using a
> Java archive that itself uses native code that uses JNI
1.2).
>
> If setting up the environment (CLASSPATH, PATH,
invoking java with
> -Djava.library.path ) in a script everything works as
expected. After
> copying the jar-file to the Java extension directory
> (/usr/java/j2sdk1.4.2_10/jre/lib/ext), the native
DLL/so to the
> respective extension directory
(/usr/java/j2sdk1.4.2_10/jre/lib/i386),
> all of a sudden using Java reflection the OOo
UNO-Java-classes (barfs on
> com.sun.star.beans.PropertyValue) cannot be found
anymore (the stack
> trace shows, that the jar-file, that was copied to the
ext-directory was
> found and used)!
If you move your code to the extension directory, then it is
loaded by
the extension class loader. If your code then tries to
naively find a
class (via Class.forName(String)) that is only loaded by a
class loader
"derived" from the extension class loader (e.g.,
the application class
loader), that would naturally not work. (Check out
Class.forName(String, boolean, ClassLoader).)
-Stephan
> Removing the jar from that Java ext-directory and
instead referring to
> it via CLASSPATH in the local directory makes it work,
ie. allows the
> jar-file to use Java reflection to locate OOo
UNO-Java-classes!
>
> It seems that only OOo is affected by this (did try
this with awt
> examples, which work either way).
>
> Would you have any hints, ideas, clues what could be
the cause of this
> behaviour? Or even better, have ideas how to remedy
that?
>
> TIA,
>
> ---rony
>
> P.S.: If it makes a difference: am running as
"root" on RH FC 3.
------------------------------------------------------------
---------
To unsubscribe, e-mail: dev-unsubscribe api.openoffice.org
For additional commands, e-mail: dev-help api.openoffice.org
|