Hi everybody,
I have troubles being able to work with JOGL using maven and ImageJ. To illustrate the problem, I made a minimal exmaple with a command (https://github.com/NicoKiaru/MinJOGLCmd).
This command has two dependencies :
<groupId>org.jogamp.gluegen</groupId>
<artifactId>gluegen-rt-main</artifactId>
<groupId>org.jogamp.jogl</groupId>
<artifactId>jogl-all-main</artifactId>
The command works under eclipse, no problem.
When I deploy my command on a Fiji install, it seems to be conflicting with the Java 8 update site.
So I update Fiji (it doesn’t work anyway). And when I launch this command, I get an java.lang.UnsatisfiedLinkError.
java.lang.UnsatisfiedLinkError: Can't load library: E:\Dropbox\NicoWork\JOGLFiji\Fiji.app\natives\windows-amd64\\nativewindow_awt.dll
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824)
at java.lang.Runtime.load0(Runtime.java:809)
at java.lang.System.load(System.java:1086)
at com.jogamp.common.jvm.JNILibLoaderBase.loadLibraryInternal(JNILibLoaderBase.java:624)
at com.jogamp.common.jvm.JNILibLoaderBase.access$000(JNILibLoaderBase.java:63)
at com.jogamp.common.jvm.JNILibLoaderBase$DefaultAction.loadLibrary(JNILibLoaderBase.java:106)
at com.jogamp.common.jvm.JNILibLoaderBase.loadLibrary(JNILibLoaderBase.java:487)
So Java wants the natives to be located in Fiji.app\natives\windows-amd64, but they are into a jar in Fiji.app\jars\win64 .
If I put the natives into the correct folder, then my command works. BUT this is quite annoying since I have to do this manipulation each time I need to deploy to Fiji. As well, if users want to use my plugin via an update site, they will get this error as well.
So, what should I change to integrate correctly this minimal command with FIJI and JOGL ?
Thanks for any suggestions!