We downloaded Tomcat 7.0.27 and TomEE 1.0.0 and did a quick comparison. Here are the differences we found. The distributions being compared are apache-tomcat-7.0.27.tar.gz and apache-tomee-1.0.0-webprofile.tar.gz.
1. Tomcat is 7,467 KB. TomEE is 27,702 KB.
2. TomEE catalina.bat/catalina.sh has added the OpenEJB javaagent.
3. TomEE server.xml has the extra listener org.apache.tomee.catalina.ServerListener.
4. Tomcat has a lot more MIME mappings. We are not sure why. Could this simply have been overlooked?
5. TomEE has removed
lib/annotations-api.jar
lib/el-api.jar
webapp/examples/
6. TomEE has added
bin/service*
bin/tomee.*
conf/system.properties
conf/tomee.xml
webapp/tomee/
7. TomEE has added the following libraries. We suggest you review these new libaries to make sure it doesn’t create conflicts with your existing application.
endorsed/annotation-api.jar
endorsed/jaxb-*.jar
lib/bval-*.jar
lib/commons-*.jar
lib/geronimo-*.jar
lib/gson-2.1.jar
lib/howl-1.0.1-1.jar
lib/hsqldb-2.2.4.jar
lib/javaee-api-6.0-3-tomcat.jar
lib/javassist-3.15.0-GA.jar
lib/jaxb-impl-2.2.5.jar
lib/kahadb-5.5.1.jar
lib/mbean-annotation-api-4.0.0.jar
lib/myfaces-*.jar
lib/openejb-*.jar
lib/openjpa-asm-shaded-2.2.0.jar
lib/openwebbeans-*.jar
lib/quartz-2.1.3.jar
lib/scannotation-1.0.2.jar
lib/serp-1.13.1.jar
lib/slf4j-*.jar
lib/swizzle-stream-1.6.1.jar
lib/tomee-*.jar
lib/wsdl4j-1.6.2.jar
lib/xbean-*.jar
Here’s the screenshot of the differences using Araxis Merge.
Very excellent post! The mime types is an oversight, thanks for pointing that out!
Fully agree on #6. Library conflicts are likely to be the most common issue. Slf4j is probably going to be the most common offender. In the past people had issues with asm conflicts so we repackaged that code as org.apache.xbean.asm via the maven shade plugin. We can do that for slf4j or any other small library. It does complicate the build a bit, so we only do that once people report issues.
So note to all readers, if you do have a library conflict, please let us know!
I can’t seem to find Apache CXF from the list of jars mentioned above
Just stumbled upon this. Neat look at the changes. I would love to see an update to at least TomEE 1.7.1, even if 1.7.2 is just around the corner.
The removed jar files are only due to the javaee-api jar containing the same provided classes.