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!
>

Reply via email to