Kalle,
I have made sure to carefully deploy the dll's to my repository, with the
appropriate packaging parameters and all. Initially I was using mvn
install:install-file, I now use mvn deploy:deploy-file, and when I look
inside the repository, it all seems to be there, and it looks to be correct.

The problem I am having is still at the packaging stage, with the error
handling file set... and the PlexusIoResourceCollection not found.

This is the same error I had before. It also says no such archiver "dll".
Does my pom look good to you? (I don't wanna clutter pasting it all again,
the pom and error are in the previous message).

Thanks for your help.

Mikel

On Tue, Jun 17, 2008 at 15:14, Kalle Korhonen <[EMAIL PROTECTED]>
wrote:

> I'm guessing you didn't install the dll with the packaging type "dll" (use
> -Dpackaging=dll, the default is jar -
> http://maven.apache.org/plugins/maven-deploy-plugin/usage.html). Check
> your
> local repository and the pom for the dll. Regarding your earlier question,
> you sure can package it into a jar and JNA's supposed to extract it out
> from the jar automatically if not found on library path but that was
> exactly
> your original problem: either it wasn't working or java.library.path wasn't
> set properly. Even with JNA, it's recommended practice to have the library
> in an accessible location on the system (
>
> https://jna.dev.java.net/javadoc/com/sun/jna/Native.html#loadLibrary(java.lang.String,%20java.lang.Class)
> )
>
> Kalle
>
>
> On Tue, Jun 17, 2008 at 10:23 AM, Mikel Cármenes Cavia <[EMAIL PROTECTED]>
> wrote:
>
> > I have followed the steps, and I am now getting the following error
> message
> > when I try to package my project:
> >
> > [INFO]
> > ------------------------------------------------------------------------
> > [ERROR] BUILD ERROR
> > [INFO]
> > ------------------------------------------------------------------------
> > [INFO] Failed to create assembly: Error adding file-set for
> > 'org.git.systems:Cur
> > vi:dll:1.0.0' to archive: Error adding archived file-set.
> > PlexusIoResourceCollec
> > tion not found for: C:\Documents and
> > Settings\Mikel\.m2\repository\org\git\syste
> > ms\Curvi\1.0.0\Curvi-1.0.0.dll
> >
> > No such archiver: 'dll'.
> > [INFO]
> > ------------------------------------------------------------------------
> > [INFO] For more information, run Maven with the -e switch
> > [INFO]
> > ------------------------------------------------------------------------
> > [INFO] Total time: 6 seconds
> > [INFO] Finished at: Tue Jun 17 14:18:20 ADT 2008
> > [INFO] Final Memory: 12M/25M
> > [INFO]
> > ------------------------------------------------------------------------
> >
> > Basically, I manually deployed the two dll's to Maven's repository (via
> mvn
> > install:install-file) and then made the following changes to my pom:
> >
> > ...
> > <dependency>
> >      <groupId>org.git.systems</groupId>
> >      <artifactId>Curvi</artifactId>
> >      <version>1.0.0</version>
> >      <scope>compile</scope>
> > <type>dll</type>
> >    </dependency>
> > <dependency>
> >      <groupId>org.git.systems</groupId>
> >      <artifactId>OptimizedSolver</artifactId>
> >      <version>1.0.0</version>
> >      <scope>compile</scope>
> > <type>dll</type>
> >    </dependency>
> > ...
> >
> >
> > ...
> > <plugin>
> >        <groupId>org.apache.maven.plugins</groupId>
> >        <artifactId>maven-dependency-plugin</artifactId>
> >        <executions>
> >          <execution>
> >            <id>copy</id>
> >            <phase>package</phase>
> >            <goals>
> >              <goal>copy</goal>
> >            </goals>
> >            <configuration>
> >              <artifactItems>
> >                <artifactItem>
> >                  <groupId>org.git.systems</groupId>
> >                  <artifactId>Curvi</artifactId>
> >                  <version>1.0.0</version>
> >                  <type>dll</type>
> >                  <overWrite>true</overWrite>
> >                  <outputDirectory>/testingDLL</outputDirectory>
> >                  <destFileName>Curvi</destFileName>
> >                </artifactItem>
> >              </artifactItems>
> >            </configuration>
> >          </execution>
> >        </executions>
> >      </plugin>
> >
> > </plugins>
> >
> > </build>
> > </project>
> >
> >
> > Is there something I did wrong along the process?
> >
> > Thanks, I can't wait to get this to work.
> >
> >
> > On Tue, Jun 17, 2008 at 08:12, Mikel Cármenes Cavia <[EMAIL PROTECTED]>
> > wrote:
> >
> > > I will give those steps a shot today and let you all know if I run into
> > any
> > > problems. It sounds like a pretty logical thing to do actually, and
> > > fortunately I do not require cross-platform compilation and support at
> > this
> > > point.
> > > One quick question though, when you say that I should use the
> dependency
> > > plugin to copy the DLL's to the target directory or other suitable
> > location,
> > > could I specify that the DLL's be put inside the jar? (that is, in the
> > > resources folder).
> > >
> > > Thanks!
> > >
> > >
> > > On Mon, Jun 16, 2008 at 15:37, Kalle Korhonen <
> > [EMAIL PROTECTED]>
> > > wrote:
> > >
> > >> 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