Comment changer la version Java utilisée par TOMCAT?

J’ai Java 1.6 et Tomcat 5.5 installés sur mon système.

Mais Tomcat 5.5 accède à Java 1.5 et, par conséquent, j’obtiens comme erreur le Bad version number in .class file lors de l’exécution du code Java avec JSP.

Comment puis-je changer la version de Tomcat en Java 1.6?

METTRE À JOUR

J’ai essayé de changer la JVM que tomcat5w.exe pointe vers la version 1.6 et maintenant je suis hors de la Bad version in .class file erreur de Bad version in .class file . Mais maintenant, j’obtiens l’erreur suivante.

 exception org.apache.jasper.JasperException org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:498) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:411) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:308) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) root cause java.lang.NullPointerException myfirst.SearchLink.checkURL(SearchLink.java:20) org.apache.jsp.Test_jsp._jspService(Test_jsp.java:52) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:308) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 

Quelle pourrait être la cause première?

    Lorsque vous ouvrez catalina.sh / catalina.bat, vous pouvez voir:

    Pré-requirejs de la variable d’environnement

    JAVA_HOME Doit indiquer votre installation Java Development Kit.

    Par conséquent, définissez la variable d’environnement JAVA_HOME sur Java 6. Assurez-vous également que JRE_HOME pointe vers la même cible, si elle est définie.

    Mise à jour: depuis que vous êtes sous Windows, voyez ici comment gérer vos variables d’environnement

    Vous pouvez modifier l’emplacement JDK ou JRE en procédant comme suit:

    1. Ouvrez le terminal ou cmd .
    2. [tomcat-home]\bin répertoire [tomcat-home]\bin .
      ex: c:\tomcat8\bin
    3. écrivez la commande suivante: Tomcat8W //ES//Tomcat8
    4. ouvre la boîte de dialog, sélectionnez l’ onglet Java (volet supérieur) .
    5. modifier la valeur de la machine virtuelle Java.
    6. cliquez sur OK .

    note: dans Apache TomEE mêmes étapes, mais l’ étape (3) la commande doit être: TomEE //ES

    Dans Eclipse, il est très facile de pointer Tomcat vers une nouvelle JVM (dans cet exemple JRE6). Mon problème était que je ne pouvais pas trouver où le faire. Voici l’astuce:

    1. Dans le menu principal ECLIPSE, cliquez sur FILE dans l’onglet déroulant, sélectionnez NEW , -> Other
    2. … sur le nouveau serveur: Sélectionnez une fenêtre d’ assistant , sélectionnez: Serveur -> Serveur … cliquez sur SUIVANT
    3. . Sur le nouveau serveur: fenêtre Définir un nouveau serveur , sélectionnez Apache> Serveur Tomcat 7
    4. .. maintenant cliquez sur la ligne en bleu et souligné sous le titre: Configurer les environnements d’exécution
    5. dans la fenêtre Server Runtime Environments ,
    6. ..sélectionnez Apache , développez-le (cliquez sur la flèche à gauche), sélectionnez TOMCAT v7.0 et cliquez sur EDIT .
    7. vous verrez une fenêtre appelée EDIT SERVER RUNTIME ENVIRONMENT: SERVEUR TOMCAT
    8. Sur cet écran, il y a une liste déroulante étiquetée JRE .
    9. Vous devriez trouver votre JRE comme JRE1.6.0.33 . Sinon, utilisez le bouton JRE installé .
    10. Sélectionnez le JRE souhaité. Cliquez sur le bouton FINISH .
    11. Quittez avec succès, dans la fenêtre Server: Server Runtime Environments , cliquez sur OK.
    12. dans le nouveau serveur: Définir une nouvelle fenêtre de serveur , cliquez sur SUIVANT
    13. dans Nouveau serveur: Ajouter et supprimer une fenêtre, sélectionnez les applications et installez-les sur le serveur.
    14. dans le nouveau serveur: Ajouter et supprimer une fenêtre, cliquez sur Terminer

    C’est tout. Intéressant, seules les étapes 7 à 10 semblent importantes, et elles modifieront le JRE utilisé sur tous les serveurs que vous avez précédemment définis pour utiliser TOMCAT v7.0. Le rest des étapes est juste parce que je ne peux trouver aucun autre moyen d’accéder à l’écran, sauf en définissant un nouveau serveur. Est-ce que quelqu’un d’autre connaît un moyen plus facile?

    Si vous utilisez les scripts standard pour lancer Tomcat (c’est-à-dire que vous n’avez pas installé Tomcat en tant que service Windows), vous pouvez utiliser le fichier setenv.bat pour définir votre version de JRE_HOME.

    Sous Windows, créez le fichier% CATALINA_BASE% \ bin \ setenv.bat avec le contenu:

    set "JRE_HOME=%ProgramFiles%\Java\jre1.6.0_20"

    exit /b 0

    Et ça devrait être ça.

    Vous pouvez tester ceci en utilisant% CATALINA_BASE% \ bin \ configtest.bat (Disclaimer: je l’ai seulement vérifié avec une installation Tomcat7).

    Lectures complémentaires:

    Sous Linux, Tomcat7 dispose d’un fichier de configuration situé à:

     /etc/sysconfig/tomcat7 

    … où les configurations spécifiques du serveur doivent être effectuées. Vous pouvez définir la variable env JAVA_HOME ici sans avoir besoin de créer un script profile.d /.

    Cela a fonctionné pour moi.

    Il y a plusieurs bonnes réponses ici, mais je voulais en append une, car cela pourrait être utile pour des utilisateurs comme moi qui ont installé Tomcat en tant que service sur une machine Windows.

    Option 3 ici: http://www.codejava.net/servers/tomcat/4-ways-to-change-jre-for-tomcat

    Fondamentalement, ouvrez tomcatw.exe et pointez Tomcat sur la version de la machine virtuelle Java à utiliser, puis redémarrez le service. Assurez-vous que vos applications déployées fonctionnent toujours aussi bien.

    tester ouvrir le termenal ou cmd. Accédez au répertoire [tomcat-home] \ bin. Par exemple: c: \ tomcat8 \ bin, écrivez la commande suivante: Tomcat8W // ES // Tomcat8 ouvre la boîte de dialog, sélectionnez le bouton java (touche du haut). modifier la valeur de la machine virtuelle Java.