On Jan 4, 2007, at 12:52 AM, Craig L Russell wrote:
How about a very low tech approach. Create a file as part of the deployment (or a web page for that matter), which lists every dependency, the appropriate version (or range of versions), and the URL of the place to get the jar. We do that in our own project so that we can easily track what we are using and where we got it from.

Doesn't the cayenne maven pom do this?


Here is a problem with that - Cayenne POM specifies lots of dependencies that 99.9% of users will never need, but they are needed to compile Cayenne (e.g. JGroups for clustering). So the "fat" jar was a subset of compile dependencies that included only things that are absolutely needed to run Cayenne (with the rest of them mentioned in specific documentation). In fact "third-party" library directory is now built from POM, but we have to do manual filtering :-/

<dependencySet>
                        <outputDirectory>lib/third-party</outputDirectory>
<!-- Include only a minimal set of dependencies to run cayenne- server -->
                        <includes>
                                <include>asm:asm</include>
                                <include>asm:asm-commons</include>
                                <include>com.caucho:hessian</include>
                                
<include>commons-collections:commons-collections</include>
                                <include>commons-lang:commons-lang</include>
                                
<include>commons-logging:commons-logging</include>
                                
<include>org.objectstyle.ashwood:ashwood</include>
                                <include>velocity:velocity</include>
                        </includes>
                </dependencySet>


Andrus

Reply via email to