SearchServlet was compiled by a later version of Java Runtime

When I use the search function, I get http 500 error status. He claims that

Error Report

HTTP Status 500 - Internal Server Error

Type Exception Report

The SearchServlet message was compiled by a later version of the Java runtime (class file version 53.0), this version of Java The runtime recognizes only class file versions up to 52.0 (class [SearchServlet] cannot be loaded)

Description The server detected an unexpected condition that prevented it from completing the request.

Exception java.lang.UnsupportedClassVersionError: SearchServlet has been compiled by a later version of Java Runtime (class file version 53.0), this version of Java Runtime only recognizes the file version class up to 52.0 (it is not possible to load the [SearchServlet] class) org.apache.catalina.loader. WebappClassLoaderBase.findClassInternal (WebappClassLoaderBase.java:2286) org.apache.catalina.loader.WebappClassLoaderBase.findClass (WebappClassLoaderBase.java:811) org.apache.catalina.loader.WebappClassLoaderLaBaLoBaderLoader catalina.loader.WebappClassLoaderBase.loadClass (WebappClassLoaderBase.java:1119) org.apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase.java:488) org.apache.catalina.valves.ErrorReportValve.valve.alve.veveveveveveveveveveveveveveve org.apache.catalina.valves.AbstractAccessLogValve.invoke (AbstractAccessLogValve.java:650) org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.javahaps42) org.apache.coyote.http11.Http11Processor.service (Http11Processor.java:80. coyote.AbstractProcessorLight.process (AbstractProcessorLight.java:66) org.apache.coyote.AbstractProtocol $ ConnectionHandler.process (AbstractProtocol.java:790) org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun (NioEndpoint. 1459) org.apache.tomcat.util.net.SocketProcessorBase.run (SocketProcessorBase.java:49) java.util.concurrent.ThreadPoolExecutor.runWorker (unknown source) java.util.concurrent.ThreadPoolExecutor $ Worker.run (unknown source) org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run (TaskThread.java:61) java.lang.Thread.run (unknown source)invoke (AbstractAccessLogValve.java:650) org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.javahaps42) org.apache.coyote.http11.Http11Processor.service (Http11Processor.java:803) org.apache.coyote. AbstractProcessorLight.process (AbstractProcessorLight.java:66) org.apache.coyote.AbstractProtocol $ ConnectionHandler.process (AbstractProtocol.java:790) org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun (NioEndpoint.java:145) org.apache.tomcat.util.net.SocketProcessorBase.run (SocketProcessorBase.java:49) java.util.concurrent.ThreadPoolExecutor.runWorker (unknown source) java.util.concurrent.ThreadPoolExecutor $ Worker.run (unknown source) org. apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run (TaskThread.java:61) java.lang.Thread.run (unknown source)invoke (AbstractAccessLogValve.java:650) org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.javahaps42) org.apache.coyote.http11.Http11Processor.service (Http11Processor.java:803) org.apache.coyote. AbstractProcessorLight.process (AbstractProcessorLight.java:66) org.apache.coyote.AbstractProtocol $ ConnectionHandler.process (AbstractProtocol.java:790) org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun (NioEndpoint.java:145) org.apache.tomcat.util.net.SocketProcessorBase.run (SocketProcessorBase.java:49) java.util.concurrent.ThreadPoolExecutor.runWorker (unknown source) java.util.concurrent.ThreadPoolExecutor $ Worker.run (unknown source) org. apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run (TaskThread.java:61) java.lang.Thread.run (unknown source)650) org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.javahaps42) org.apache.coyote.http11.Http11Processor.service (Http11Processor.java:803) org.apache.coyote.AbstractProcessorLight.process. AbstractProcess java: 66) org.apache.coyote.AbstractProtocol $ ConnectionHandler.process (AbstractProtocol.java:790) org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun (NioEndpoint.java:1459) org.apache.tomcat. util.net.SocketProcessorBase.run (SocketProcessorBase.java:49) java.util.concurrent.ThreadPoolExecutor.runWorker (unknown source) java.util.concurrent.ThreadPoolExecutor $ Worker.run (unknown source) org.apache.tomcat.util. threads.TaskThread $ WrappingRunnable.run (TaskThread.java:61) java.lang.Thread.run (unknown source)650) org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.javahaps42) org.apache.coyote.http11.Http11Processor.service (Http11Processor.java:803) org.apache.coyote.AbstractProcessorLight.process. AbstractProcess java: 66) org.apache.coyote.AbstractProtocol $ ConnectionHandler.process (AbstractProtocol.java:790) org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun (NioEndpoint.java:1459) org.apache.tomcat. util.net.SocketProcessorBase.run (SocketProcessorBase.java:49) java.util.concurrent.ThreadPoolExecutor.runWorker (unknown source) java.util.concurrent.ThreadPoolExecutor $ Worker.run (unknown source) org.apache.tomcat.util. threads.TaskThread $ WrappingRunnable.run (TaskThread.java:61) java.lang.Thread.run (unknown source)java: 342) org.apache.coyote.http11.Http11Processor.service (Http11Processor.java:803) org.apache.coyote.AbstractProcessorLight.process (AbstractProcessorLight.java:66) org.apache.coyote.AbstractProtocol $ ConnectionHand AbstractProtocol.java:790) org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun (NioEndpoint.java:1459) org.apache.tomcat.util.net.SocketProcessorBase.run (SocketProcessorBase.java:49) java. util.concurrent.ThreadPoolExecutor.runWorker (unknown source) java.util.concurrent.ThreadPoolExecutor $ Worker.run (unknown source) org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run (TaskThread.java:61) java. lang.Thread.run (unknown source)java: 342) org.apache.coyote.http11.Http11Processor.service (Http11Processor.java:803) org.apache.coyote.AbstractProcessorLight.process (AbstractProcessorLight.java:66) org.apache.coyote.AbstractProtocol $ ConnectionHand AbstractProtocol.java:790) org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun (NioEndpoint.java:1459) org.apache.tomcat.util.net.SocketProcessorBase.run (SocketProcessorBase.java:49) java. util.concurrent.ThreadPoolExecutor.runWorker (unknown source) java.util.concurrent.ThreadPoolExecutor $ Worker.run (unknown source) org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run (TaskThread.java:61) java. lang.Thread.run (unknown source)process (AbstractProcessorLight.java:66) org.apache.coyote.AbstractProtocol $ ConnectionHandler.process (AbstractProtocol.java:790) org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun (NioEndpoint.java:1459) org. apache.tomcat.util.net.SocketProcessorBase.run (SocketProcessorBase.java:49) java.util.concurrent.ThreadPoolExecutor.runWorker (unknown source) java.util.concurrent.ThreadPoolExecutor $ Worker.run (unknown source) org.apache. tomcat.util.threads.TaskThread $ WrappingRunnable.run (TaskThread.java:61) java.lang.Thread.run (unknown source)process (AbstractProcessorLight.java:66) org.apache.coyote.AbstractProtocol $ ConnectionHandler.process (AbstractProtocol.java:790) org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun (NioEndpoint.java:1459) org. apache.tomcat.util.net.SocketProcessorBase.run (SocketProcessorBase.java:49) java.util.concurrent.ThreadPoolExecutor.runWorker (unknown source) java.util.concurrent.ThreadPoolExecutor $ Worker.run (unknown source) org.apache. tomcat.util.threads.TaskThread $ WrappingRunnable.run (TaskThread.java:61) java.lang.Thread.run (unknown source)run (SocketProcessorBase.java:49) java.util.concurrent.ThreadPoolExecutor.runWorker (unknown source) java.util.concurrent.ThreadPoolExecutor $ Worker.run (unknown source) org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable. run (TaskThread.java:61) java.lang.Thread.run (unknown source)run (SocketProcessorBase.java:49) java.util.concurrent.ThreadPoolExecutor.runWorker (unknown source) java.util.concurrent.ThreadPoolExecutor $ Worker.run (unknown source) org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable. run (TaskThread.java:61) java.lang.Thread.run (unknown source)

9. JRE 1.8, , . Java 9, Eclipse Marketplace, ,

http://download.eclipse.org/eclipse/updates/none.

, , , , ?

<!DOCTYPE html>
<html>

<head>
  <meta charset="ISO-8859-1" <title>Add contact to Phone Book</title>
  <h1>Add contact to Phone Book</h1>
</head>

<body>
  <form name="submitInfo" method="get" action="AddEntryServlet" First Name: <input type="text" name="firstName" />
  <br/>
  <br/>
   Last Name: <input type="text" name="lastName" />
  <br/>
  <br/>
   Area Code: <input type="number" name="areaCode" />
  <br/>
  <br/>
   Phone Number: <input type="number" name="phoneNumber" />
  <br/>
  <br/>
  <input type="submit" value="Submit" />

  </form>
</body>
<h1>Search for Contact in Phone Book</h1>

<body>
  <form name="searchInfo" method="get" action="SearchServlet">
    Search First Name: <input type="text" name="searchFirstName" />
    <br/>
    <br/>

    <input type="submit" name="action" value="search" />

  </form>
</body>

</html> 

import java.io.IOException; 
import java.io.PrintWriter; 
import java.util.List;

import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.hibernate.Query; import org.hibernate.Session;

import entities.Tbphonebook; import util.HibernateUtil;

/**  * Servlet implementation class SearchServlet  */
@SuppressWarnings("deprecation")
@WebServlet("/SearchServlet")
public class SearchServlet extends HttpServlet {    private static final long
serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public SearchServlet() {
super();
  // TODO Auto-generated constructor stub
  }

/**      * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)      */
@SuppressWarnings({ "deprecation","unchecked" })
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    Session session = HibernateUtil.getSessionFactory().openSession();
    session.beginTransaction();
    String firstName = request.getParameter("searchFirstName");         
    @SuppressWarnings("rawtypes") 
    Query query = Session.createQuery("from Tbphonebook where firstname = ?");


List<Tbphonebook> persons = (List<Tbphonebook>) query.getResultList();



session.getTransaction().commit();      
session.close();



request.setAttribute("persons", persons);
request.getRequestDispatcher("searchResults.jsp").forward(request,response);
response.sendRedirect("searchResults.jsp");


}

JSP

%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1"> <title>Insert title here</title> </head>
<h1>Search Results</h1>
<h1>List Books:</h1>
<table class="table table-boardered table-striped" id="searchresults">      
    <tr>            
        <th>First Name</th>         
        <th>Last Name</th>
        <th>Area Code</th>          
        <th>PhoneNumber</th>
    </tr>       
</table>
<script>
        $(document).ready(function(){
        $.getJSON("persons", function(data){
            var persons_data = '';
            $.each(data, function(key, value){
                person_date += '<tr>';
                person_data += '<td>'+value.Firstname+'</td>';
                person_data += '<td>'+value.Lastname+'</td>';
                person_data += '<td>'+value.Areacode+'</td>';
                person_data += '<td>'+value.Phonenumber+'</td>';
                person_date += '</tr>';
            }
            );
        $('#searchresults').append(persons_data);
        });
    });
 </script>
<%
    String message = (String) request.getAttribute("message");
    if(!(message == null)){
        out.println(message);
        }else{
            message= "";
            out.println(message);
        }
%>

 </html>
+4
3

" , 9". 52.0 - Java 8; , 53.0 - Java 9. , Java 9 Java 8, , . Java 8.

+7

IDE: Eclipse.

, :

Project menu > Properties > Java Compiler > Compiler compliance level > 1.8

, , JDK 9.

FYI 1.8 - , Java 8.

Java # Eclipse Oxygen , Java. Eclipse Oxygen, Eclipse jdk. , , .

+4

1) maven: , :

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.7.0</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
    </configuration>
</plugin>

2) UNIX- - script, , :

export JAVA_HOME=`/usr/libexec/java_home -v 1.8`

3) If you are compiling using eclipse, try specifying a JRE, for example:

Compiling for a specific JRE with Eclipse

4) If you are compiling NetBeans, try specifying a JRE, for example:

Netbeans - Create Target JDK 6, but Run Java 7 JRE

-1
source

Source: https://habr.com/ru/post/1689740/


All Articles