[Pki-devel] POM deps for Jersey

Adam Young ayoung at redhat.com
Fri Nov 18 18:00:17 UTC 2011


On 11/18/2011 12:54 PM, 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.


A little more digging on weld.  I pulled in the cdi-api  Source files 
into the same project.  I can get the whole thing to compile if I add in 
<classpathentry kind="lib" path="/usr/share/java/elspec.jar"/>


With the exception of javax.enterprise.inject.spi.BeforeBeanDiscovery  
which has an import that it doesn't use: 
javax.interceptor.InterceptorBinding;

If I comment out that line,  it builds.


We should be able to make this work in Fedora.  2 new packages (Jersey 
and cdi-api)  are not that bad a payback for the amount of reuse we will 
get.






More information about the Pki-devel mailing list