[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