If you don't need to worry about cross-platform compilation & support (and sounds like you don't), the most straight-forwarded way to do this is to deploy your dll to a Maven repository with type "dll", declare a straight-up dependency to it in your pom and then use the dependency plugin to copy the lib to the target dir or other suitable location for development environment and structure you assembly (or whatever is the format of the actual delivery) similarly. If cross-platform support is desired, nar plugin ( http://java.freehep.org/freehep-nar-plugin/intro.html) is a bit more involving but simplifies things greatly. However, using it requires some code changes.
Kalle On Mon, Jun 16, 2008 at 11:19 AM, Mikel Cármenes Cavia <[EMAIL PROTECTED]> wrote: > Hey guys, > I need to include three DLL's in my Maven project. Prior to deciding to > email the list, I have looked around the archives, and haven't been able to > find anything that would seem to answer my problem (which is a very easy > one > in nature). > > I use JNA to interface with two of the three DLL's (the third one is for > Jacob, and its location needs to be set as a system variable). > > In Java, I do the following: > > URL libURL = this.getClass().getResource("/org/git/systems/DLLs/"); > System.setProperty("jna.library.path", libURL.getPath()); > > And then declare the following interface > > public interface CurviLibrary extends Library { > CurviLibrary CurviInitialization = (CurviLibrary) > Native.loadLibrary("Curvi",CurviLibrary.class); > CurviLibrary OptimizedSolver = (CurviLibrary) > Native.loadLibrary("OptimizedSolver",CurviLibrary.class); > DoubleByReference GIT_CURVIG(float[] timeData, float[] rawData, float[] > relax, int rawDataSize, double alphaValue, > long numberOfBins); > } > > So when compiled via Eclipse, this works like a charm. I have tried placing > the DLL's within /main/resources/org/git/systems/DLLs but this does not > seem > to work, as the jar looks in > > file:/C:/DEV/Maven/GITSYSTEMS/target/GITSYSTEMS-1.0-jar-with-dependencies.jar!/org/git/systems/DLLs/ > which would make sense, if only a jar wasn't a package. > > How may I go about adding these DLLs to my Maven project, without having to > modify the existing Java code? > > I am assuming they will have to go outside of the jar, but I am unsure as > to > how to reference and go from there. > > Thanks guys! >