[jboss-dev] Overlapping APIs jars

Dimitris Andreadis dandread at redhat.com
Mon Nov 10 14:02:05 EST 2008


There is a bit of overlapping in our API libraries.

E.g. for jsp-api.jar we have 2 jars with similar content, one from JBossWeb and one coming
from Sun:

[INFO] +- jboss.web:jsp-api:jar:2.1.1.GA:compile
[INFO] +- javax.servlet.jsp:jsp-api:jar:2.1:compile

For the servlet-api.jar we have 3 jars with similar content. One comes from our javaee apis
project, one from jboss web and one from Sun. org.jboss.javaee:jboss-javaee.jar also bundles
jboss-servlet-api.jar:

[INFO] +- org.jboss.javaee:jboss-servlet-api:jar:2.5.0.GA:compile
[INFO] +- jboss.web:servlet-api:jar:2.1.1.GA:compile
[INFO] +- javax.servlet:servlet-api:jar:2.5:compile

The sun one is referenced by:
[INFO] +- org.jboss.seam.integration:jboss-seam-int-jbossas:jar:5.0.0.CR7:compile
[INFO] |  \- (javax.servlet:servlet-api:jar:2.5:compile - version managed from 2.4
...
[INFO] +- httpunit:httpunit:jar:1.6:test
[INFO] |  +- (javax.servlet:servlet-api:jar:2.5:test - version managed from 2.3
...
[INFO] +- org.jboss.jaxr:juddi-saaj:jar:1.2.1.GA:compile
[INFO] |  \- (javax.servlet:servlet-api:jar:2.5:compile - version managed from 2.4
...
[INFO] +- org.jboss.jaxr:juddi-service:jboss-sar:1.2.1.GA:compile
[INFO] |  \- (javax.servlet:servlet-api:jar:2.5:compile - version managed from 2.4;

Our org.jboss.javaee one by EJB3.

What ends up in AS5 is the jsp-api/server-api that comes from JBossWeb. Also the
jboss-javaee.jar that duplicates the server api classes.

---

So the question is how we want to proceed? I think we should end up with a single copy of
the apis. We could either agree to:

a) Use the sun provided artifacts. If there are no license problems that would be the
easiest solution. Many thirdparty project would be referencing those artifacts, too.

b) Centralize the apis in our javaee project. The problem here is that projects like 
JBossWS, JBossWeb, Hibernate, would have to agree to use only those artifacts, rather than
duplicating them, or removing them and importing them into their projects.

c) Continue the current mixed solution with projects controling the related APIs, in which
case we should at least remove any duplicates, e.g. the jboss-javaee servlet APIs.

Thoughts?




More information about the jboss-development mailing list