Hoe verander ik de Java-versie die door TOMCAT wordt gebruikt?

Ik heb Java 1.6 en Tomcat 5.5 op mijn systeem geïnstalleerd.

Maar Tomcat 5.5 heeft toegang tot Java 1.5 en daarom krijg ik als resultaat de fout Bad version number in .class filetijdens het uitvoeren van Java-code met JSP.

Hoe kan ik de Tomcat-versie wijzigen in Java 1.6?

UPDATE

Ik heb geprobeerd de JVM te wijzigen die de tomcat5w.exe naar versie 1.6 verwijst en nu heb ik de fout Bad version in .class fileniet meer. Maar nu krijg ik de volgende foutmelding.

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)

Wat kan de hoofdoorzaak zijn?


Antwoord 1, autoriteit 100%

Als je catalina.sh / catalina.bat opent, zie je:

Omgevingsvariabele vereisten

JAVA_HOME Moet verwijzen naar uw Java Development Kit-installatie.

Dus stel uw omgevingsvariabele JAVA_HOMEzo in dat deze naar Java 6 verwijst. Zorg er ook voor dat JRE_HOMEnaar hetzelfde doel verwijst, als dit is ingesteld.

Update: aangezien u Windows gebruikt, zie hierhoe u uw omgevingsvariabelen kunt beheren


Antwoord 2, autoriteit 40%

U kunt de JDK- of JRE-locatie als volgt wijzigen:

  1. open de terminalof cmd.
  2. ga naar de [tomcat-home]\bindirectory.

    bijv: c:\tomcat8\bin
  3. schrijf het volgende
    commando: Tomcat8W //ES//Tomcat8
  4. opent het dialoogvenster, selecteer het java-tabblad (bovenste paneel).
  5. wijzig de waarde van de Java virtual Machine.
  6. klik op OK.

opmerking:
in Apache TomEE dezelfde stappen, maar stap (3)het commando moet zijn: TomEE //ES


Antwoord 3, autoriteit 36%

Als je de standaardscripts gebruikt om Tomcat te starten (d.w.z. je hebt Tomcat niet als een Windows-service geïnstalleerd), kun je het bestand setenv.bat gebruiken om je JRE_HOME-versie in te stellen.

Maak in Windows het bestand %CATALINA_BASE%\bin\setenv.bat, met inhoud:

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

exit /b 0

En dat zou het moeten zijn.

Je kunt dit testen met %CATALINA_BASE%\bin\configtest.bat (Disclaimer: ik heb dit alleen gecontroleerd met een Tomcat7-installatie).

Verder lezen:


Antwoord 4, autoriteit 26%

In Eclipse is het heel eenvoudig om Tomcat naar een nieuwe JVM te verwijzen (in dit voorbeeld JRE6). Mijn probleem was dat ik niet kon vinden waar ik het moest doen. Hier is de truc:

  1. Selecteer in het hoofdmenu van ECLIPSE BESTANDde optie NIEUW, –>Overig
  2. …in het venster Nieuwe server: selecteer een wizard, selecteer: Server-> Server… klik op VOLGENDE
  3. . in het venster Nieuwe server: definieer een nieuwe server, selecteer Apache> Tomcat 7-server
  4. ..klik nu op de blauwe en onderstreepte regel met de titel: Runtime-omgevingen configureren
  5. in het venster Server Runtime Environments,
  6. ..selecteer Apache, vouw het uit (klik op de pijl links), selecteer TOMCAT v7.0en klik op BEWERK.
  7. u ziet een venster met de naam EDIT SERVER RUNTIME OMGEVING: TOMCAT SERVER
  8. Op dit scherm staat een pulldown met het label JREs.
  9. U zou uw JRE moeten vinden als JRE1.6.0.33. Gebruik anders de knop JRE geïnstalleerd.
  10. Selecteer de gewenste JRE. Klik op de knop VOLTOOIEN.
  11. Sluit netjes af en klik in het venster Server: Server Runtime Environmentsop OK
  12. in het venster Nieuwe server: definieer een nieuwe server, druk op VOLGENDE
  13. in het venster Nieuwe server: toevoegen en verwijderenselecteert u apps en installeert u ze op de server.
  14. klik in het venster Nieuwe server: toevoegen en verwijderenop Voltooien

Dat is alles. Interessant, alleen de stappen 7-10 lijken ertoe te doen, en ze zullen de JRE wijzigen die wordt gebruikt op alle servers die u eerder hebt gedefinieerd om TOMCAT v7.0 te gebruiken. De rest van de stappen zijn alleen maar omdat ik geen andere manier kan vinden om naar het scherm te gaan, behalve door een nieuwe server te definiëren. Weet iemand anders een gemakkelijkere manier?


Antwoord 5, autoriteit 8%

Op Linux heeft Tomcat7 een configuratiebestand op:

/etc/sysconfig/tomcat7

… dat is waar serverspecifieke configuraties gemaakt moeten worden. U kunt de JAVA_HOME env-variabele hier instellen zonder dat u een profile.d/-script hoeft te maken.

Dit werkte voor mij.


Antwoord 6, autoriteit 2%

Er zijn hier verschillende goede antwoorden, maar ik wilde er een toevoegen omdat het nuttig kan zijn voor gebruikers zoals ik die Tomcat als een service op een Windows-computer hebben geïnstalleerd.

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

Kortom, open tomcatw.exe en wijs Tomcat naar de versie van de JVM die u moet gebruiken en start vervolgens de service opnieuw. Zorg ervoor dat uw geïmplementeerde applicaties ook nog steeds werken.


Antwoord 7

test
open de termal of cmd.
ga naar de directory [tomcat-home]\bin.
bijv: c:\tomcat8\bin
schrijf het volgende commando: Tomcat8W //ES//Tomcat8
zal het dialoogvenster openen, selecteer de java tap (top tap).
verander de waarde van de Java virtual Machine.

Other episodes