Dans page officielle de Tomcat il est dit que Tomcat 7 prend en charge Java 8. Si je le télécharge et l'exécute avec Java 8, cela fonctionne.
Mais, sur Openshift est Tomcat 7 (JBoss EWS 2.0) . Dans cette page Web , il est indiqué que EWS 2.0 ne prend pas en charge Java 8 . Si je déploie mon application Java 8 sur Openshift (Tomcat 7), cela ne fonctionne pas.
Pourquoi?
J'ai essayé d'installer Java 8 sur Tomcat 7 sur Openshift avec ceci: https://stackoverflow.com/a/23895161/24421 Mais ça ne marche pas pour moi. J'ai une erreur:
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping':
Initialization of bean failed; nested exception is
org.springframework.beans.factory.CannotLoadBeanClassException: Error loading
class [pl.xxx.controller.HomeController] for bean with name 'homeController'
defined in file [/var/lib/openshift/xxx/app-
root/runtime/dependencies/jbossews/webapps/web1/WEB-
INF/classes/xxx/controller/HomeController.class]: problem with class file or
dependent class; nested exception is Java.lang.UnsupportedClassVersionError:
xxx/controller/HomeController : Unsupported major.minor version 52.0 (unable to
load class xxx.controller.HomeController)
Unsupported major.minor version 52.0
Indique que la version Java est incorrecte (Java 7 intead Java 8).
Le Unsupported major.minor version 52.0
une erreur indique que vous avez un Java 8 classes mais un Java <= 7 JRE. Vous n'avez donc pas réussi à installer Java 8 pour Tomcat du tout. Vous devrez peut-être ajuster quelque chose dans la configuration de Tomcat pour qu'il utilise Java 8.
Si vous exécutez Tomcat en tant que service sous Windows, vous devrez peut-être modifier le JRE utilisé par Tomcat en émettant:
Tomcat7w.exe //ES/<your_service_name>
Ce qui devrait vous amener à ce dialogue:
Assurez-vous que "utiliser la valeur par défaut" est coché ou que la "machine virtuelle Java" appropriée est utilisée.