On Tue, 2003-03-04 at 20:31, Stanley,Michael P. wrote:
> > On Tue, 2003-03-04 at 19:46, Stanley,Michael P. wrote:
> > > Cool.
> > >
> > > Question:  What happens when dependencies collide?  i.e.  in my
> > > dependency I state that I depend on projectX version 1.3 and
> projectY
> > > version 2.0.  projectY version 2.0 has dependency on a different
> version
> > > of projectX.  How will situations like these be resolved?
> > 
> > It would be easy enough to detect differing versions. Typically during
> > integration work I use the JAR override mechanism to make sure that
> I'm
> > using the same version of all the JARs that go into the final work.
> > Often I have to diddle the versions to get things to work correctly.
> 
> Hmmm... I'm a little confused.  Bear with me.  Is the plan to put POM in
> the repository, to allow projects auto-resolve dependencies (of
> dependencies)?  This is what I assume is being suggested.  

Yes, once all the POMs are there we can build something using a tool
like jisp to make a deadly fast resolution mechanism. But this involves
some careful sychronization, efficient diffing using something like
jarsync (java rsync implementation). In the plexus plugin I'm just
recursively dragging down POMs and looking stuff up. Definitely not good
enough for general building but good enough for creating a runtime.

> If so what is
> the JAR override mechanism?  What do you mean diddle the versions?  With
> JAR override does the order dependencies are listed modify
> dependency/version resolution?  

If you are integrating 30 different components it is likely you're going
to get components declaring dependencies on the same artifactId with
differing versions. Including multiple versions of the same package
leads to linkage errors and other classloading nonsense. So I use the
JAR override to make sure the same version of, say, beanutils is used
instead of collecting three different versions of beanutils. By diddle I
mean that sometimes I have to trial and error select among the versions
until I find one that works with everything.

> 
> 

-- 
jvz.

Jason van Zyl
[EMAIL PROTECTED]
http://tambora.zenplex.org

In short, man creates for himself a new religion of a rational
and technical order to justify his work and to be justified in it.
  
  -- Jacques Ellul, The Technological Society


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to