-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Open
Labels
Description
I tried HelloWorld example from Getting Started Guide and got following results:
Result of shadowjar, no relocation. Works as excepted:
jikuja@LG MINGW64 /d/projects/jna-relocation-bug
$ java -Djna.debug_load.jna=true -jar build/libs/jna-relocation-bug-1.0-SNAPSHOT-all.jar
Trying (via loadLibrary) jnidispatch
Looking in classpath from sun.misc.Launcher$AppClassLoader@4e25154f for /com/sun/jna/win32-x86-64/jnidispatch.dll
Found library resource at jar:file:/D:/projects/jna-relocation-bug/build/libs/jna-relocation-bug-1.0-SNAPSHOT-all.jar!/com/sun/jna/win32-x86-64/jnidispatch.dll
Trying C:\Users\jikuja\AppData\Local\Temp\jna--1160004128\jna5363526492694878451.dll
Found jnidispatch at C:\Users\jikuja\AppData\Local\Temp\jna--1160004128\jna5363526492694878451.dll
Hello, World
Shadowjar with relocation. Does not work:
jikuja@LG MINGW64 /d/projects/jna-relocation-bug
$ java -Djna.debug_load.jna=true -jar build/libs/jna-relocation-bug-1.0-SNAPSHOT-reloc.jar
Trying (via loadLibrary) jnidispatch
Looking in classpath from sun.misc.Launcher$AppClassLoader@4e25154f for /a/com/sun/jna/win32-x86-64/jnidispatch.dll
Found library resource at jar:file:/D:/projects/jna-relocation-bug/build/libs/jna-relocation-bug-1.0-SNAPSHOT-reloc.jar!/a/com/sun/jna/win32-x86-64/jnidispatch.dll
Trying C:\Users\jikuja\AppData\Local\Temp\jna--1160004128\jna2069879652875333160.dll
Found jnidispatch at C:\Users\jikuja\AppData\Local\Temp\jna--1160004128\jna2069879652875333160.dll
Exception in thread "main" java.lang.UnsatisfiedLinkError: a.com.sun.jna.Native.sizeof(I)I
at a.com.sun.jna.Native.sizeof(Native Method)
at a.com.sun.jna.Native.<clinit>(Native.java:141)
at HelloWorld$CLibrary.<clinit>(HelloWorld.java:13)
at HelloWorld.main(HelloWorld.java:20)
Build script I used: https://gist.github.com/jikuja/10e29922c819e2a0eb16183a09a14f38
Bug or did I miss some important configuration flag to enable proper shading support?