[Pki-devel] POM deps for Jersey

Adam Young ayoung at redhat.com
Mon Nov 21 18:09:17 UTC 2011


On 11/21/2011 09:29 AM, Ade Lee wrote:
> Adam,
>
> I'm not sure what you built - but your build seems to lack a lot of key
> dependencies.  I pulled down the jersey source from svn and tried to
> build it using eclipse (and immediately ran into 50K+ build errors).
>
> I then built it in maven and noticed something like 450 jars being
> pulled in.  Now granted, lots of these are duplicate versions - and some
> of these are in fedora - but a lot of them are not.
>
> I tried to figure out which ones are provided by fedora but its slow
> going.  Attached is the list of jars pulled in (pulled_jars) and a
> slightly more whittled down list after removing multiple versions or
> seeing the jar in fedora.  The whittled down list can probably be
> whittled down further.
>
> Its still over 250 jars long though.  Even if we managed to whittle down
> much further its likely we will end up with over 100 jars that we would
> need to shepherd through fedora and rhel acceptance.  Including a few
> that would be unacceptable in fedora/rhel.
>
> As you say, resteasy is probably a little worse - although in this case,
> we *might* be able to find folks to maintain some parts of this.
>
> So this begs the question - are either of these frameworks feasible for
> us to use at the current time?
I'll have to tkae a closer look,  but I do know that I commented out the 
grizzley web server.  that pulls in a few,  and it really makes no sense.

There are a bunch that get pulled in just for Maven,  but that are not 
required for building.  Most of these should be things that are already 
accounted for.  I think Jersey is do-able.


>
> Ade
>
> On Fri, 2011-11-18 at 12:54 -0500, Adam Young wrote:
>> I first ran the maven Archtype for a Jersey web app  and then compiled
>> it.  Both before starting and In between the two steps I wiped out my
>> local Maven repository to be able to distinguish waht was necessary.
>>
>> Here are the list of jars pulled down in the second stage.
>>
>> javax/ws/rs/jsr311-api/0.8/jsr311-api-0.8.jar
>> junit/junit/3.8.1/junit-3.8.1.jar
>> commons-cli/commons-cli/1.0/commons-cli-1.0.jar
>> org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.jar
>> org/codehaus/mojo/tomcat-maven-plugin/1.1/tomcat-maven-plugin-1.1.jar
>> org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.jar
>> org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.jar
>> org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar
>> org/codehaus/plexus/plexus-compiler-api/1.8.1/plexus-compiler-api-1.8.1.jar
>> org/codehaus/plexus/plexus-compiler-javac/1.8.1/plexus-compiler-javac-1.8.1.jar
>> org/codehaus/plexus/plexus-compiler-manager/1.8.1/plexus-compiler-manager-1.8.1.jar
>> org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.jar
>> org/apache/maven/shared/maven-filtering/1.0-beta-4/maven-filtering-1.0-beta-4.jar
>> org/apache/maven/plugins/maven-compiler-plugin/2.3.2/maven-compiler-plugin-2.3.2.jar
>> org/apache/maven/plugins/maven-resources-plugin/2.4.3/maven-resources-plugin-2.4.3.jar
>> org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.jar
>> asm/asm/3.1/asm-3.1.jar
>> com/sun/jersey/jersey/0.8-ea-SNAPSHOT/jersey-0.8-ea-SNAPSHOT.jar
>>
>>
>> I'm guessing these fall into two groups:  those needed for building any
>> web app and those specific to Jersey.  Maven is fairly well covered by
>> Fedora,  so I don't think w'll have too much trouble there.
>> JUnit is in Fedora.
>> commons-cli is in fedora
>>
>> jsr311  is probably just a small set of source file,  but it is not in
>> Fedora.
>>
>> Specific to Jersey are these:  edited out of the Jersey POM
>>
>> javax.ws.rs.jsr311-api            version 0.8
>> javax.annotation.jsr250-api  version  1.0
>> javax.persistence.persistence-api           version 1.0.2
>> javax.servlet.servlet-api version 2.5
>> asm.asm version 3.1
>>
>> NOte that does not indicated what is needed to build Jersey,  merely
>> what it requires to build another project.
>>
>>
>> Pulling the Jersey source into Eclipse without and jars to fill in
>> dependencies is more interesting.
>>
>> To build,  it refers to a bunch of the Sun classes in the JREs rt.jar,
>> which have access prohibited.  we can work around this with a symlink.
>>
>>
>> Other jars I started pulling in
>>
>> <classpathentry kind="lib" path="/usr/share/java/javamail/mail.jar"/>
>> <classpathentry kind="lib" path="/usr/share/java/geronimo-annotation.jar"/>
>> <classpathentry kind="lib" path="/usr/share/java/objectweb-asm/asm.jar"/>
>> <classpathentry kind="lib" path="/usr/share/java/felix/org.osgi.core.jar"/>
>> <classpathentry kind="lib" path="rt.jar"/>
>> <classpathentry kind="lib" path="/usr/share/java/ant.jar"/>
>> <classpathentry kind="lib" path="/usr/share/java/jsp.jar"/>
>> <classpathentry kind="lib"
>> path="/usr/share/java/tomcat6/annotations-api.jar"/>
>> <classpathentry kind="lib" path="/usr/share/java/geronimo-ejb.jar"/>
>> <classpathentry kind="lib" path="/usr/share/java/atinject.jar"/>
>> <classpathentry kind="lib" path="/usr/share/java/geronimo-jpa.jar"/>
>> <classpathentry kind="lib"
>> path="/usr/share/java/tomcat-servlet-3.0-api.jar"/>
>> <classpathentry kind="lib" path="/usr/share/java/geronimo-interceptor.jar"/>
>>
>>
>>
>> The only one I haven't found so far is
>> <classpathentry kind="lib"
>> path="/home/ayoung/.m2/repository/javax/enterprise/cdi-api/1.1.EDR1.1/cdi-api-1.1.EDR1.1.jar"/>
>>
>> Which appears to be  Weld,  or the reference implementation of JSR-299.
>> This looks interesting in its own right.




More information about the Pki-devel mailing list