2016-04-30 10 views
4

Ich verfolge den Spring MVC Kurs von VirtualPairProgrammers und der Arbeitsbereich, den sie bereitgestellt haben, scheint einige Probleme zu haben. Ich erhalte den folgenden Fehler, wenn ich den Code ausführe.Spring MVC - Kann Klasse für JSP nicht kompilieren

org.apache.jasper.JasperException: Kann Klasse für JSP kompilieren: ist ein Fehler in Zeile aufgetreten: 1 in der generierten Java-Datei Der Typ java.io.ObjectInputStream kann nicht aufgelöst werden. Es wird indirekt von erforderlichen .class-Dateien referenziert

Irgendwelche Ideen, was schief geht? Dies ist der Code in meinem Controller:

@RequestMapping("/viewAllBooks") 
public ModelAndView viewAllBooks() 
{ 
    List<Book> allBooks = bookService.getEntireCatalogue(); 
    return new ModelAndView("/displayAllBooks.jsp","allBooks",allBooks); 
} 

Und das ist die JSP-Datei:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 


<html> 
<head> 
    <title>All books for our store</title> 
    <link href="styles.css" rel="Stylesheet" type="text/css"/> 
</head> 

<body> 

    <jsp:include page="/web/header.jsp"/> 

    <div id="books"> 
     <ul> 
      <c:forEach items="${allBooks}" var="nextBook"> 

      <li> 
       <h2>${nextBook.title}</h2> 
       <p> 
        <span> by ${nextBook.author} 
          <fmt:formatNumber value="${nextBook.price}" 
              type="currency" 
              currencyCode="USD" />   

        <form method='post' action='<c:url value=""/>'> 
         <input type='hidden' name='id' value='${nextBook.id}'/> 
         <input type='image' src='cart-button.png'/> 
        </form> 
       </span> 
       </p> 

      </li> 

      </c:forEach> 

     </ul> 
    </div> 

    <jsp:include page="/web/footer.jsp"/> 

</body> 

</html> 
+2

verwenden Was ist deine Java Version? Offenbar gibt es ein Problem mit den Versionen 1.8.0_91 und danach. – emrahkocaman

+0

Red Hat Problem: https://access.redhat.com/solutions/2294701 – mzjn

+0

@mzjn, irgendeine Idee, was die Problemumgehung ist? –

Antwort

0

ich den Kurs so konzipiert, soll ich in der Lage sein, zu helfen. Wir liefern eine Kopie von Tomcat, die zum Zeitpunkt der Aufnahme aktuell war, und dies war für eine Reihe von Jahren in Ordnung. Allerdings bricht Java 8 bei dieser Version ab. Es sollte ein einfacher Fall der Ausführung des Codes auf Tomcat sein 8.

Ich werde Sie durch VirtualPairProgrammers kontaktieren und wenn wir die Versionskonflikt aussortiert haben, werden wir den Kurs aktualisieren Tomcat 8.

+1

Aber Java 1.8.0_77 (das Update vor 1.8.0_91) ist auch Java 8. Es bricht nicht in dieser Version, oder? Zwischen zwei Updates innerhalb der gleichen Hauptversion sollten die Dinge nicht so brechen. – mzjn

+1

Einverstanden, ich wunderte mich, warum wir dieses Problem bis vor kurzem nicht gesehen haben. Es ist alles ein wenig verwirrend, aber gemäß der Kompatibilitätstabelle unter http://tomcat.apache.org/whichversion.html unterstützt nur Tomcat 9 Java 8. Dies löst das Problem für den oben genannten Kurs, ich bin mir nicht sicher, was das ist zugrunde liegendes Problem ist. –

+1

Sie könnten sich für diese (vorläufige) Antwort auf eine verwandte Frage interessieren: http://stackoverflow.com/a/38444118/407651. – mzjn

Verwandte Themen