Tapestry is compatible with a wide range of app servers, Java versions, and open source libraries. Not all combinations are known to work, however.
Note: blanks in the support matrix tables below do NOT indicate incompatibility. They are just documentation gaps.
If you know of any other known compatibilities or incompatibilities, please add a comment at the bottom of this page, or on the Tapestry Users mailing list mailing list.
Java & Servlet API Versions
Tapestry Version → | 5.8.4+ | 5.8.1 - 5.8-3 | 5.7 | 5.6 | 5.5 | 5.4 | 5.3.8 | 5.3.0 - 5.3.7 | 5.2 | 5.1 | 5.0.10 | 5.0.8 | 5.0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Java JRE | 8-21 | 8-17 | 8-14 | 8-14 | 8-12 | 7, 81 | 6 - 81,2 | 6, 7 | 5, 6 | 5, 6 | 5, 6 | 5, 6 | 5, 6 |
Servlet API | 3.0+ | 3.0+ | 3.0+ | 3.0+ | 3.0+ | 2.5+ | 2.5+ | 2.5+ | 2.4+3 | 2.4+3 | 2.4+3 | 2.4+3 | 2.4+3 |
1 Java 9 or above requires Tapestry 5.5.0 or newer. See TAP5-2588.
2 For using Tapestry 5.3.8 with Java 8 see Release Notes 5.3.8
3 Servlet API 2.5 requires JDK 1.5+
App Servers
Tapestry Version → | 5.5+ | 5.4 | 5.3.8 | 5.3.0 - 5.3.7 | 5.2 | 5.1 | 5.0.10 | 5.0.8 | 5.0 |
---|---|---|---|---|---|---|---|---|---|
Apache Tomcat | 6+ | 6+ | |||||||
Jetty | 9 | 7-9 | 6-9 | 6-8 | 6-8 | 6-8 | 6-8 | 6-8 | 6-8 |
Glassfish | 2.1 | ||||||||
Apache TomEE | |||||||||
JBoss EAP | 4.2.3 | 4+ | |||||||
Wildfly/JBoss AS | |||||||||
Heroku | |||||||||
Google App Engine | + |
Libraries
These are the library versions known to work (and, in some cases, bundled with Tapestry). Unless otherwise noted, adjacent versions will often work fine as well.
Tapestry Version → | 5.7.3+ | 5.5+ | 5.4.1 | 5.4 | 5.3.8 | 5.3.7 | 5.3.3-5.3.6 | 5.3.2 | 5.3 - 5.3.1 | 5.2.1 | 5.2 | 5.1 | 5.0.16 | 5.0.10 | 5.0.8 | 5.0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Hibernate | 5.4.32.Final | 5.1.0.Final | ?-4.3.6 | 3.5.4-3.6.0 | -3.6.0 | 3.3.0+ | ||||||||||
JPA | ||||||||||||||||
Spring | 3.1.0 | |||||||||||||||
jQuery.js | 1.12.1 | |||||||||||||||
Prototype.js | 1.7.1 | 1.7 | 1.7 | 1.7 | 1.7 | 1.6.1 | 1.6.1 | 1.6.0.3 | 1.6.0.3 | 1.6.0.2 | 1.6 | 1.6 | ||||
Scriptaculous | 1.9 | 1.9 | 1.9 | 1.9 | 1.9 | 1.8.2 | 1.8.2 | 1.8.2 | 1.8.0 | |||||||
Bootstrap CSS | 4.3.1, 3.3.6 | 3.3.6 | 3.0.2 | |||||||||||||
Moment.js | 2.12.0 | |||||||||||||||
Less4J | 1.2.1-1.9 | |||||||||||||||
Underscore.js | 1.3.3 | 1.1.7 | 1.1.7 |
Java 9+ Dependency Deprecations
With the introduction of the Java module system in version 9, various Java EE dependencies were declared deprecated, and removed entirely in version 11.
This might lead to java.lang.NoClassDefFoundError
exceptions for javax
-package classes, like missing javax.xml.bind.JAXBException
for tapstry-hibernate
.
Until all related libraries and frameworks add the now missing dependencies explicitly, you might have to re-add them yourself, if no other dependency is pulling them into your project.
See https://stackoverflow.com/questions/43574426/how-to-resolve-java-lang-noclassdeffounderror-javax-xml-bind-jaxbexception and https://crunchify.com/java-11-and-javax-xml-bind-jaxbcontext/ for more information about the deprecation and removal of the Java EE dependencies, and how to remedy.