Loading external dll with bridj is not possible due to hebrew username

962 views Asked by At

I tried to load native library (lib.dll) to Java application via BridJ on Windows 7, where username is written in Hebrew.

What is important is that the Java application downloads lib.dll and save it properly in place:

C:\Users\דני\AppData\Local\Temp\lib.dll

I have reference to that file -> File lib, and pass lib.getCanonicalPath() to BridJ.

In the end I get the following exception:

Caused by: java.io.FileNotFoundException: Library 'LIB' was not found in path
...
...
...
(failed to load C:\Users\???\AppData\Local\Temp\lib.dll)
at org.bridj.BridJ.getNativeLibrary(BridJ.java:619)
at org.bridj.BridJ.getNativeLibrary(BridJ.java:619)
at org.bridj.BridJ.getNativeLibrary(BridJ.java:599)
at org.bridj.BridJ.getNativeLibrary(BridJ.java:315)
at org.bridj.CRuntime.getNativeLibrary(CRuntime.java:341)
at org.bridj.CRuntime.register(CRuntime.java:299)
... 21 more

So it seems that, getCanonicalPath() converts דני to.

How can I solve that ?

1

There are 1 answers

0
zOlive On BEST ANSWER

This bug looks similar to the following issue, which was fixed yesterday :

https://github.com/ochafik/nativelibs4java/issues/276

You might want to try again with the latest 0.7-SNAPSHOT.