Supported Java EE 7 and 8 feature combinations

Some combinations of Java™ EE 8 and Java EE 7 Liberty features in a server configuration are compatible. However, many combinations are not compatible and cause an error when the server starts.

If a Java EE 7 Liberty feature was updated for Java EE 8, then the Java EE 7 version of the feature is not compatible with Java EE 8.

The error message resembles:

CWWKF0033E: The singleton features com.ibm.websphere.appserver.javaeeCompatible-7.0 and 
com.ibm.websphere.appserver.javaeeCompatible-8.0 cannot be loaded at the same time.  The configured 
features servlet-4.0 and jpa-2.1 include one or more features that cause the conflict. Your 
configuration is not supported.

The following table marks compatible feature combinations with a check mark (✔). Ensure that your server configuration does not contain incompatible features.

Table 1. Supported combinations of Java EE 8 and Java EE 7 Liberty features. New or updated Java EE 8 features are listed vertically. Java EE 7 features are listed horizontally. A check mark (✔) indicates that the combination of Java EE 8 and 7 features is supported and a server configuration can contain both features. An empty cell (no ✔) indicates that the combination of Java EE 8 and 7 features is not supported.
  Java EE 7 features
batch-1.0 beanValidation-1.1 cdi-1.2 concurrent-1.0 el-3.0 ejb-3.2 ejbLite-3.2 javaMail-1.5 jacc-1.5 jaspic1.1 jaxrs-2.0 jca-1.7 jms-2.0 jpa-2.1 jsf-2.2 jsonp-1.0 jsp-2.3 mdb-3.2 servlet-3.1 websocket-1.1
Java EE 8 features    
appSecurity-3.0                
beanValidation-2.0              
cdi-2.0              
javaMail-1.6      
jaxrs-2.1              
jpa-2.2                
jsf-2.3              
jsonb-1.0                
jsonp-1.1      
servlet-4.0        

The table shows that the servlet-3.1 feature of Java EE 7 is incompatible with the jaxrs-2.1 feature of Java EE 8. Thus, a server configuration with the following features causes an error:

<featureManager>
   <feature>servlet-3.0</feature>
   <feature>jaxrs-2.1</feature>
</featureManager>

To resolve the error, use servlet-4.0 instead of servlet-3.1 in the server configuration. The servlet-4.0 feature is compatible with the jaxrs-2.1 feature.

For more information on compatibility, or toleration, of features, see Tolerating features.