Some dependencies are duplicate, so we need to reduce the redundancies.
For example, I found the followings need to be refined:
(1) In components/jetspeed-registry,
javax.xml.bind:jaxb-api:jar:2.1:compile could be
replaced by org.apache.geronimo.specs:geronimo-jaxb_2.1_spec:1.0
Accordingly, the transitive dependencies could be replaced as well:
stax-api-1.0-2.jar by geronimo-stax-api_1.0_spec-1.0.1.jar
(By the way, we still need to keep both activation-1.1.jar geronimo-activation_1.1_spec-1.0.2.jar
because activation.jar contains implementations as well as interfaces.)
(2) In components/jetspeed-cm and in other components:
javax.transaction:jta:jar:1.0.1B:runtime could be
replaced by org.apache.geronimo.specs:geronimo-jta_1.1_spec.
(3) In components/jetspeed-portal
mail-1.3.3.jar could be replaced by geronimo-javamail_1.4_spec-1.6.jar
(geronimo-javamail_1.4_spec-1.6.jar seems to have been used by CXF already.)