Causes et remèdes pour l'exception «ServletException: Erreur lors de l'instanciation de la classe de servlet» lors du déploiement d'applications Java

Situation lorsqu'une exception se produit

Lorsque j'ai créé une application de servlet dans Eclipse et l'ai déployée sur VPS, l'exception suivante s'est produite.

javax.servlet.ServletException: Error instantiating servlet class [servlet.LoginServlet]

error.png

Cause

La version JDK d'Eclipse et la version JRE de Tomcat ne correspondaient pas, ce qui empêchait Tomcat d'exécuter les fichiers de classe. (Si la version Java au moment de la compilation est supérieure à la version Java au moment de l'exécution, une exception semble se produire.)


Journal des erreurs

Cause première

java.lang.UnsupportedClassVersionError: 
servlet/LoginServlet has been compiled by a more recent version of the Java Runtime (class file version 55.0), 
this version of the Java Runtime only recognizes class file versions up to 52.0 (unable to load class [servlet.LoginServlet])
 
~ Abrégé ci-dessous ~
Version JRE Version du fichier de classe
Java 8 52.0
Java 9 53.0
Java 10 54.0
Java 11 55.0
Java 12 56.0
Java 13 57.0
Java 14 58.0
Java 15 59.0

Dans ce cas, l'application a été compilée avec la version 55.0 (Java 11), mais en essayant de s'exécuter avec la version 52.0 (Java 8).

Solution

Mettez à jour la version côté Tomcat ou abaissez la version côté Eclipse. (J'ai décidé de changer le côté Eclipse cette fois.)   Lorsque vous passez de la fenêtre Eclipse à Fenêtre> Paramètres '', l'écran de configuration s'affiche. Lorsque vous passez à la page Java> Compiler`, il y a un élément appelé Niveau de conformité du compilateur '' '' du JDK, alors changez-le en `` 1.8 ''. eclipse設定.png

référence

https://stackoverflow.com/questions/47457105/class-has-been-compiled-by-a-more-recent-version-of-the-java-environment http://www.ne.jp/asahi/hishidama/home/tech/java/version.html https://jpn.itlibra.com/article?id=21118

Recommended Posts

Causes et remèdes pour l'exception «ServletException: Erreur lors de l'instanciation de la classe de servlet» lors du déploiement d'applications Java
[Ruby On Rails] Causes et remèdes pour ActionView :: Template :: Error (ActiveStorage :: InvariableError) (hypothèse / vérification)
Journaux d'erreurs et gestion des exceptions qui sont souvent vus dans la zone Java
[Débutant] Commandes et connaissances qui peuvent être utiles pour la résolution des erreurs lors du déploiement d'AWS
[Java] Précautions lors du référencement dans une classe parent et de l'instanciation dans une classe enfant