Login  Register

Maven resolution of native dependencies - minor issue

Posted by Brendan on Aug 24, 2014; 2:05am
URL: https://forum.jogamp.org/Maven-resolution-of-native-dependencies-minor-issue-tp4032907.html

I'd like the JOGL2 dependencies for my project to be sourced through Maven. I am working in Netbeans Java 8 on Windows 7.

Following the instructions at http://jogamp.org/wiki/index.php/Maven   I created the following in pom.xml:

        <dependency>
            <groupId>org.jogamp.jogl</groupId>
            <artifactId>jogl-all-main</artifactId>
            <version>2.1.5-01</version>
        </dependency>
        <dependency>
            <groupId>org.jogamp.gluegen</groupId>
            <artifactId>gluegen-rt-main</artifactId>
            <version>2.1.5-01</version>
        </dependency>

This compiles & unpacks fine. However when I instantiate a GLJPanel this error is thrown:

        UnsatisfiedLinkError
        Can't load library: C:\Users\Brendan\Documents\NetBeansProjects\worldsim\gluegen-rt.dll

A successful work around is to manually copy these DLLs into that folder (the root folder for the project):

        gluegen-rt.dll
        jogl_desktop.dll
        nativewindow_awt.dll
        nativewindow_win32.dll
        newt.dll

However I would prefer a 100% Maven driven solution to simplify for other collaborators and keep the project files organized.

Is there a way to configure Maven to copy/include these native dependencies to a location where JOGL can resolve them?

My reading of the Maven page "So, when you add a dependency on jogl-all-main in your own project, the native jar files of jogl-all are brought in as transitive dependencies and everything works as expected" suggests I should not require an additional reference to jogl-all. Adding this dependency doesn't change anything anyway.