Question

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

Mais Tomcat 5.5 accède à Java 1.5 et donc comme le résultat que je reçois le Bad version number in .class file d'erreur lors de l'exécution du code Java avec JSP.

Comment puis-je changer la version Tomcat Java 1.6?

UPDATE

J'ai essayé de changer la machine virtuelle Java que le tomcat5w.exe pointe vers la version 1.6 et maintenant je suis hors de l'erreur de Bad version in .class file. Mais maintenant, je reçois 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?

Était-ce utile?

La solution

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

  

Environnement Variable Prérequis

     

JAVA_HOME doit pointer votre installation Java Development Kit.

Alors, définissez votre JAVA_HOME variable d'environnement pour pointer vers Java 6. Assurez-vous également que JRE_HOME pointe vers la même cible, si elle est définie.

Mise à jour: puisque vous êtes sous Windows, voir ici pour savoir comment gérer vos variables d'environnement

Autres conseils

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

  1. ouvrir le borne ou cmd .
  2. allez dans le répertoire de [tomcat-home]\bin.
    ex: c:\tomcat8\bin
  3. ÉCRIRE commande: Tomcat8W //ES//Tomcat8
  4. ouvrira ses portes de dialogue, sélectionnez l'onglet java (panneau 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 machine virtuelle Java (dans cet exemple JRE6). Mon problème est que je ne pouvais pas trouver où le faire. Voici l'astuce:

  1. Dans le menu haut ECLIPSE DOSSIER Déroulez onglet, sélectionnez NOUVEAU , -> Autre
  2. ... sur le Nouveau serveur: Sélectionnez un Assistant fenêtre, sélectionnez: Serveur -> Serveur ... cliquez sur SUIVANT
  3. . sur le Nouveau serveur: Définir un nouveau serveur fenêtre, sélectionnez Apache> Tomcat 7 serveur
  4. .. maintenant cliquez sur la ligne en bleu et Souligné intitulé: Configurer les environnements d'exécution
  5. sur le Server Runtime Environments fenêtre,
  6. .. sélectionner Apache , développez (cliquez sur la flèche à gauche), sélectionnez TOMCAT v7.0 , puis cliquez sur Modifier .
  7. vous verrez une fenêtre appelée EDIT SERVEUR ENVIRONNEMENT RUNTIME: tomcat
  8. Sur cet écran, il y a un menu déroulant marqué JREs .
  9. Vous devriez trouver votre liste comme JRE JRE1.6.0.33 . Sinon, utilisez le bouton installé JRE .
  10. Sélectionnez la version JRE désirée. Cliquez sur le bouton Terminer .
  11. exit Gracieusement, dans le serveur: Server Runtime Environments fenêtre, cliquez sur OK
  12. dans Nouveau serveur: Définir un nouveau serveur fenêtre, appuyez sur Suivant
  13. dans Nouveau serveur: Ajout et suppression Fenêtre, sélectionnez les applications et les installer sur le serveur.
  14. dans Nouveau serveur: Ajout et suppression Fenêtre, cliquez sur Terminer

C'est tout. Intéressant, les étapes seulement 7-10 semblent à la matière, et ils changeront le JRE utilisé sur tous les serveurs que vous avez précédemment défini pour utiliser TOMCAT v7.0. Le reste des étapes sont juste parce que je ne peux pas trouver un autre moyen de se rendre à l'écran, sauf en définissant un nouveau serveur. Est-ce que quelqu'un sait d'autre façon plus facile?

Si vous utilisez les scripts standard pour lancer Tomcat (à savoir que vous n'avez pas installé Tomcat en tant que service Windows), vous pouvez utiliser le fichier setenv.bat, pour définir votre version 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 cela devrait l'être.

Vous pouvez tester cela en utilisant% CATALINA_BASE% \ bin \ configtest.bat (Disclaimer: Je ne l'ai vérifié cela avec une installation tomcat7).

Lectures complémentaires:

Sur Linux, tomcat7 a un fichier de configuration situé à:

/etc/sysconfig/tomcat7

... qui est l'endroit où doivent être des configurations spécifiques du serveur. Vous pouvez définir la variable d'env JAVA_HOME ici w / o avoir besoin de créer un profile.d / script.

Cela a fonctionné pour moi.

Il y a plusieurs bonnes réponses ici, mais je voulais ajouter un, car il peut être utile pour les 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

En fait, tomcatw.exe ouvert et le point Tomcat à la version de la machine virtuelle Java, vous devez utiliser puis redémarrez le service. Assurez-vous que les applications déployées encore du travail aussi bien.

Test ouvrir le termenal ou cmd. aller à la [tomcat-home] \ bin. ex: c: \ tomcat8 \ bin écrire la commande suivante: // Tomcat8W ES // Tomcat8 ouvrira ses portes de dialogue, sélectionnez le robinet java (en haut du robinet). modifier la valeur de la machine virtuelle Java.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top