On 4/24/06, Wayne Fay <[EMAIL PROTECTED]> wrote:
>
> It is *strongly* suggested that you do not utilize scope system. This
> is available for the rare use case which actually requires it.
>
> In general, you should add dependencies to your local repo (or a
> corporate repo, if you are using one) and use <dependency> in the
> normal manner.


So what do people do when they're using commercial libraries that aren't
just jars? We use a commercial toolkit that comprises just under 5,000
files, 40 of which are jar files. Right now, just so that I can use the
Maven repo, I have to manually deploy each of those jar files to our
internal repo, adding version numbers, creating group and artifact ids, etc.
Then I have to package the other files up as a few zip files that I can
download using the Maven dependency plugin, and deploy those to the repo as
well. This is a painful manual process that needs to be repeated each time
we get a new version from the vendor.

Things might be simpler if the dependency plugin actually related to
dependencies. ;-) What I mean is that, in theory, I could just drop the
whole 3rd party toolkit into the repo as a zip file, use the dependency
plugin to grap and explode it, and then reference the jar files in my POM.
But doing that would require the use of system scope, because the dependency
plugin doesn't actually add dependencies to your build. (Actually, I really
don't understand why it's called the 'dependency' plugin, unless I've missed
something quite fundamental about it. ;)

Since I can't imagine that using a commercial toolkit could be considered a
"rare use case", I'm wondering if I'm missing something rather basic. What
are other people doing in similar circumstances?

--
Martin Cooper


Wayne
>
> On 4/24/06, Kristian Nordal <[EMAIL PROTECTED]> wrote:
> > On 4/24/06, Brandon Goodin <[EMAIL PROTECTED]> wrote:
> > >
> > > Is it a requirement that i use the remote repository for jars? Is
> > > there a way to reference jars that are distributed with the code when
> > > checked out from the code repository?
> >
> >
> > Take a look at the "system" scope:
> >
> http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html
> >
> > e.g:
> >    <dependency>
> >      <groupId>foo</groupId>
> >      <artifactId>foo</artifactId>
> >      <version>1.0.0</version>
> >      <scope>system</scope>
> >      <systemPath>${basedir}/foo/foo/1.0.0/foo-1.0.0.jar</systemPath>
> >    </dependency>
> >
> > --
> > Cheers,
> > Kristian
> >
> >
>

Reply via email to