What's New?

This article summarizes all major changes between Pax Exam 3.x and Pax Exam 4.0.0.

Java EE Test Containers

The minimum API level supported by Pax Exam 4 is Java EE 7.

The test containers for JBoss AS 7.x, GlassFish 3.x, Resin 4.x and TomEE supporting Java EE 6 have been dropped from Pax Exam 4. It is planned to reintroduce some of these test containers if and when a newer release of the corresponding server supports Java EE 7.

The remaining Java EE test containers are:

  • pax-exam-glassfish-embedded
  • pax-exam-wildfly80 (also tested with WildFly 8.1.0)

OSGi Test Containers

OSGi 4.3 or higher

Pax Exam 4.x is compiled on the org.osgi.core:4.3.1 dependency and should work with any OSGI 4.3 or higher implementation.

Deprecated usage of OSGi 4.2 APIs (e.g. StartLevel) has been replaced by OSGi 4.3 equivalents.

Test Drivers

Deprecated Annotations Removed

The driver-specific annotations that were deprecated in Pax Exam 3.x have now been removed. Please use the alternatives from the org.ops4j.pax.exam package, as indicated in the Javadoc of the deprecated classes in Pax Exam 3.x.

Java Source and Target Compatibility

Pax Exam 4.x releases are built on Oracle JDK 7 with source and target compatibility level 1.7. Builds under JDK 8 are also supported, but JDK 7 will continue to be used for official builds.

At runtime, Pax Exam 4.x requires Java 7 or higher. Java 6 is no longer sufficient.

Dropped Modules

The following modules have been dropped from Pax Exam 4, due to not being compatible with Java EE 7 or due to lack of known uses and support:

  • pax-exam-container-glassfish
  • pax-exam-container-jboss
  • pax-exam-container-jboss72
  • pax-exam-container-resin
  • pax-exam-container-candi
  • pax-exam-container-tomee
  • pax-exam-invoker-servlet
  • pax-exam-testforge
  • pax-exam-player