javapathloadinghebrewbridj

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


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 ?


Solution

  • 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.