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.