S
sparhawk
I tried to access a lotus database from within java (Using Eclipse 3.2
as my IDE) and when I run my application with the smallest possible
sample that I could find, I always got an error telling me that the
nlsxbe.dll couldn't be found in the java library path.
Exception in thread "main" java.lang.UnsatisfiedLinkError: no nlsxbe in
java.library.path
Since I know that this library is in my Notes application directory, I
pointed my PATH there, expecting it to resolve this issue but it
didn't. I did a lot of googling about this, but all help that I could
find was saying that my PATH was not set properly. This was not the
issue though because I also printed the PATH variable from within the
java application and I could see that the path correct. I also set the
java.library.path variable and this also didn't work. Finally I
analyzed the problem with the FileMon utillity (from winternals.com)
and then I found out whats wrong. This tool monitors all filesystem
activity on the driver level. With this I could see that javaw tries to
open the dll in C:\Programme\java\java_1.5.0_02\bin path which is my
installation directory for Java. The question is why? Now that I found
this path, I copied the dll over and now it works. But this is not a
good solution, because this DLL is part of Notes and shouldn't have to
be copied in all kind of places. The question is, why does java ignore
all the system paths and only reads from there? This looks either as if
the path is somehow screwed up or that javaw sets it's own execution
environment. Or does javaw has it's own configuration, so that I have
to set the PATH there?
For now it works, but I would rather have a cleaner solution than this-
Thanks for any hints!
as my IDE) and when I run my application with the smallest possible
sample that I could find, I always got an error telling me that the
nlsxbe.dll couldn't be found in the java library path.
Exception in thread "main" java.lang.UnsatisfiedLinkError: no nlsxbe in
java.library.path
Since I know that this library is in my Notes application directory, I
pointed my PATH there, expecting it to resolve this issue but it
didn't. I did a lot of googling about this, but all help that I could
find was saying that my PATH was not set properly. This was not the
issue though because I also printed the PATH variable from within the
java application and I could see that the path correct. I also set the
java.library.path variable and this also didn't work. Finally I
analyzed the problem with the FileMon utillity (from winternals.com)
and then I found out whats wrong. This tool monitors all filesystem
activity on the driver level. With this I could see that javaw tries to
open the dll in C:\Programme\java\java_1.5.0_02\bin path which is my
installation directory for Java. The question is why? Now that I found
this path, I copied the dll over and now it works. But this is not a
good solution, because this DLL is part of Notes and shouldn't have to
be copied in all kind of places. The question is, why does java ignore
all the system paths and only reads from there? This looks either as if
the path is somehow screwed up or that javaw sets it's own execution
environment. Or does javaw has it's own configuration, so that I have
to set the PATH there?
For now it works, but I would rather have a cleaner solution than this-
Thanks for any hints!