Wie erfolgt die Java-Version von TOMCAT verwendet ändern?
Frage
Ich habe Java 1.6 und Tomcat 5.5 auf meinem System installiert ist.
Aber Tomcat 5.5 greift auf Java 1.5 und somit als das Ergebnis ich den Fehler Bad version number in .class file
erhalten, während Java-Code mit JSP ausgeführt wird.
Wie kann ich die Tomcat-Version 1.6 auf Java ändern?
UPDATE
Ich habe versucht die JVM zu ändern, dass die tomcat5w.exe auf die Version 1.6 zeigt, und jetzt bin ich aus dem Bad version in .class file
Fehler. Aber jetzt habe ich die folgende Fehlermeldung erhalten.
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)
Was könnte die Ursache sein?
Lösung
Wenn Sie öffnen catalina.sh / catalina.bat können Sie sehen:
Umgebungsvariable Prequisites
JAVA_HOME auf Ihrer Java Development Kit Installation verweisen.
So stellen Sie Ihre Umgebungsvariable JAVA_HOME
Punkt auf Java 6. Stellen Sie außerdem sicher JRE_HOME
auf das gleiche Ziel gerichtet ist, wenn es gesetzt ist.
Update: Da Sie auf Windows verfügbar sind, sehen hier , wie Sie Ihre Umgebungsvariablen verwalten
Andere Tipps
Sie können die JDK oder JRE Position ändern mit den folgenden Schritten:
- Öffnen Sie die Terminal oder cmd .
- Gehen Sie zum
[tomcat-home]\bin
Verzeichnis.
ex:c:\tomcat8\bin
- die folgende schreiben
Befehl:
Tomcat8W //ES//Tomcat8
- wird Dialog öffnen, wählen Sie das java Registerkarte (oberer Bereich) .
- die Java Virtual Machine Wert ändern.
- Klicken Sie auf OK .
Hinweis:
in Apache TomEE gleichen Schritten, aber Schritt (3) der Befehl sein muss: TomEE //ES
in Eclipse ist es sehr einfach, Tomcat auf einen neuen JVM-zu-Punkt (in diesem Beispiel JRE6). Mein Problem war, konnte ich nicht finden, wo es zu tun. Hier ist der Trick:
- Auf der ECLIPSE Top-Menü Datei Pull-Down-Registerkarte, wählen Sie NEU -> Andere
- ... auf dem Neuer Server: Wählen Sie ein Assistent Fenster wählen Sie: Server -> Server ... klicken Sie auf Weiter
- . auf dem Neuer Server: Definieren Sie einen neuen Server Fenster, wählen Sie Apache> Tomcat 7 Server
- .. jetzt die Zeile in blau klicken und unterstrichen Titel: Konfigurieren Runtime Environments
- auf Server Runtime Environments Fenster
- .. Apache , erweitern Sie (klicken Sie auf den Pfeil nach links), wählen Sie TOMCAT v7.0 , und klicken Sie auf Bearbeiten .
- Sie werden ein Fenster namens EDIT SERVER runtime environment: Tomcatbediener
- Auf diesem Bildschirm gibt es ein Pull-Down-markierten JREs .
- Sie sollten Ihre JRE aufgelistet wie JRE1.6.0.33 finden. Wenn nicht verwenden, um das Installierte JRE .
- Wählen Sie die gewünschte JRE. Klicken Sie auf Fertig stellen .
- Anmutig Ausfahrt, in der Server: Server Runtime Environments Fenster, klicken Sie auf OK
- in Neuer Server: Definieren Sie einen neuen Server Fenster Hit Weiter
- in Neuen Server: Hinzufügen und Entfernen Fenster, Anwendungen auswählen und sie auf dem Server installieren.
- in Neuer Server: Hinzufügen und Entfernen Fenster, klicken Sie auf Fertig
Das ist alles. Interessant, nur wenige Schritte 7-10 Rolle zu spielen, und sie werden die JRE auf allen Servern zuvor zu verwenden TOMCAT v7.0 definiert Sie verwendet ändern. Die restlichen Schritte sind, nur weil ich keine andere Möglichkeit, um den Bildschirm zu bekommen, außer durch die Definition eines neuen Server finden. Hat jemand einen einfacheren Weg wissen?
Wenn Sie die Standard-Skripte verwenden Tomcat starten (das heißt Sie Tomcat nicht installiert haben als Windows-Dienst), können Sie die setenv.bat Datei verwenden können, Ihre JRE_HOME Version einzustellen.
Unter Windows erstellen Sie die Datei
%CATALINA_BASE%\bin\setenv.bat
, mit Inhalt:
set "JRE_HOME=%ProgramFiles%\Java\jre1.6.0_20"
exit /b 0
Und das sollte es sein.
Sie können testen, diese mit% CATALINA_BASE% \ bin \ configtest.bat (Disclaimer: Ich habe nur überprüft, dies mit einer tomcat7 Installation).
Weiterführende Literatur:
- http://tomcat.apache.org/tomcat-5.5-doc /RUNNING.txt - Sektion: 'Advanced Configuration - Mehrere Tomcat Instanzen
- http://tomcat.apache.org/tomcat-7.0-doc /RUNNING.txt - Sektion: ‚(3.4) Mit Hilfe der "setenv" Skript (optional, empfohlen)
Unter Linux hat tomcat7 eine Konfigurationsdatei finden Sie unter:
/etc/sysconfig/tomcat7
... das ist, wo serverspezifische Konfigurationen vorgenommen werden sollen. Sie können die JAVA_HOME Umgebungsvariable hier gesetzt w / o ein profile.d / script erstellen zu müssen.
Das ist für mich gearbeitet.
Es gibt mehrere gute Antworten hier, aber ich wollte ein hinzuzufügen, da es für die Nutzer wie mich kann hilfreich sein, die haben Tomcat als Dienst auf einem Windows-Rechner installiert ist.
Option 3 hier: http: // www.codejava.net/servers/tomcat/4-ways-to-change-jre-for-tomcat
Grundsätzlich offen tomcatw.exe und Punkt Tomcat auf die Version der JVM benötigen Sie den Dienst dann neu starten verwenden. Stellen Sie sicher, Ihre bereitgestellten Anwendungen noch Arbeit als gut.
Test Öffnen Sie die termenal oder cmd. gehen Sie auf die [tomcat-home] \ bin. ex: c: \ tomcat8 \ bin schreiben Sie den folgenden Befehl ein: Tomcat8W // ES // Tomcat8 öffnet Dialog wählt den Java-tap (top tap). Ändern Sie die Java Virtual Machine Wert.