Am Mittwoch 22 Juli 2009 09:13:49 schrieb Nicholas Tung:
> 2009/7/21 Thomas Scheffler <thomas.scheff...@uni-jena.de>
>
> > Hi,
> >
> > I am using the maven-dependency-plugin to build a big jar file out of
> > direct
> > dependencies (code below). If that big jar file is a dependency of
> > another project all direct dependencies are also copied over. I just want
> > to copy the
> > transitive dependencies of the big jar file.
> >
> > I tried to mark the dependencies of the big jar file with scope
> > "provided" but
> > then also the transitive dependency got marked as "provided".
> >
> > I am at wits' end now. Can the big jar file mark direct dependencies as
> > "provided" but copy the dependencies of it as its own dependencies
> > somehow?
> >
> > regards
> >
> > Thomas
> >
> > <plugin>
> >  <artifactId>maven-dependency-plugin</artifactId>
> >  <executions>
> >    <execution>
> >      <id>unpack-dependencies</id>
> >      <phase>process-resources</phase>
> >      <goals>
> >        <goal>unpack-dependencies</goal>
> >      </goals>
> >      <configuration>
> >
> >  <outputDirectory>${project.build.directory}/classes</outputDirectory>
> >        <excludeTransitive>true</excludeTransitive>
> >        <excludes>
> >          LICENSE*, NOTICE*, META-INF/LICENSE*, META-INF/NOTICE*,
> >          license, license/**/*, test, test/**/*,
> >          WEB-INF/web.xml,
> >          WEB-INF/log4j.*,
> >          WEB-INF/lib, WEB-INF/lib/**/*,
> >          WEB-INF/classes, WEB-INF/classes/**/*
> >        </excludes>
> >      </configuration>
> >    </execution>
> >  </executions>
> > </plugin>
>
> So you have, e.g.,
> M --> (A, B)
> A --> { D }
> B --> { E }
>
> and you want
> jar(A, B) --> { D, E }
>
> How do jar files express dependencies? Are you trying to create a project
> which then doesn't need to download any more subprojects?

When a project depends on M then A, B should be marked as "provided" (as it is 
provided by M) but D, E should become a direct dependency of M. I hope you can 
understand what I mean.

M is build of 22 little jar files of 22 little project. M is the project which 
builds a big jar out of the 22 little jar files. As M may be a dependency of 
other project, I prefer not to ship 22 little jars with it just the big jar of 
M and the dependencies (D, E in the example) of the 22 little projects (A, B 
in the example)

> You could also use the assembly plugin to generate the jar file; you can
> then specify which modules to include.

The build of the jar file runs fine.

> Maybe you could also manually copy
> dependencies from A and B to M?

I rather prefer some kind of automatic way here. There must exists a solution 
for something like this out there. That's why I was posting to the users 
lists.

Thanks for your help.

Thomas

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org

Reply via email to