web-dev-qa-db-fra.com

Tomcat 7 prend-il en charge Java 8?

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).

11
mkczyk

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.

8
user207421

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:

enter image description here

Assurez-vous que "utiliser la valeur par défaut" est coché ou que la "machine virtuelle Java" appropriée est utilisée.

5
Jens