John Plocher wrote:
> On Tue, Dec 9, 2008 at 11:01 AM, Tom Childers <tom.childers at sun.com> wrote:
>   
>> ... then links may get changed and cause things to break.
>>     
>
>   
>> We asked the team to adopt the convention established for junit, LSARC/
>> 2008/633, similar to /usr/lib:
>>
>>        /usr/share/lib/java/junit.jar     link to most recent version
>>        /usr/share/lib/java/junit-4.5.jar
>>        /usr/share/lib/java/junit-3.8.2.jar
>> ...etc.
>>
>> However, if they place all the findbugs pieces, like
>> annotations-1.3.4.jar, in /usr/share/lib/java, then we have the
>> situation that multiple projects who require and deliver the same
>> component can overwrite each other. annotations.jar could be changed
>> to link to a different version, breaking the functionality of
>> something that is already installed.
>>     
>
>
> Shouldn't those <somethings> depend directly on the versioned item and
> NOT on the convenience link?  That is, if I depend on junit, I should either
>
> A) link to /usr/share/lib/java/junit.jar  IFF the interface stability
> I care about
>      is Committed,
> or
> B) link to /usr/share/lib/java/junit-4.5.jar if the interface
> stability is less stable
>   

Is there case precedent that indicates that all libraries should be 
versioned when installed?  What happens for consumers of various version 
of: dom4j.jar, jaxen.jar, jsr-305.jar, et al listed there - presumably 
those won't be symlinks?  Given the amount of java applications and 
scaffolding that's in the project pipeline, are we heading towards java 
jar hell? 



Reply via email to