2014-12-02 9 views
7

Ich habe ein Projekt auf Netbeans auf meinem lokalen Rechner mit JDK 1.7 (32-bit) Beim Ausführen der Anwendung (mit Tomcat 8.0 Server auf Netbeans) funktioniert es perfekt auf http://localhost:8080/WebApplication1.illegalargumentexception - Projekt läuft auf Netbeans aber nicht auf Tomcat als War-Datei

Ich habe die WAR-Datei direkt aus dem dist kopiert und auf meinen Windows VM-Server übertragen, wobei Tomcat 8.0 und jdk 1.8 installiert waren (64-bit). Dann wurde die Kriegsdatei über Tomcat's Manager Web App hochgeladen.

Hinweis: 'localhost: 8080 /' und 'localhost: 8080/manager' wurde ohne Probleme ausgeführt.

Allerdings, wenn ich gehe und die Anwendung (http://localhost:8080/WebApplication1) - es führt die folgenden Fehler.

org.apache.jasper.JasperException: Unable to compile class for JSP 
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:579) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:725) 
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 

Ursache

java.lang.IllegalArgumentException: Page directive: invalid value for import 
    org.apache.jasper.compiler.Node$PageDirective.validateImport(Node.java:610) 
    org.apache.jasper.compiler.Node$PageDirective.addImport(Node.java:593) 
    org.apache.jasper.compiler.Parser.parsePageDirective(Parser.java:344) 
    org.apache.jasper.compiler.Parser.parseDirective(Parser.java:458) 
    org.apache.jasper.compiler.Parser.parseFileDirectives(Parser.java:1782) 
    org.apache.jasper.compiler.Parser.parse(Parser.java:136) 
    org.apache.jasper.compiler.ParserController.doParse(ParserController.java:227) 
    org.apache.jasper.compiler.ParserController.parseDirectives(ParserController.java:117) 
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:194) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:356) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:336) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:323) 
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:725) 
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 

Die <%page import %> ich in meinem JSPs haben sind 'java.util. *' Und 2 Java-Klassen, die Teil meines Projektes sind. Rest meine Java-Klassen importieren einige 'Java'. Pakete

Zusätzliche Informationen:

  • Ich habe gesetzt 'Pfad' Umgebungsvariable 'C: \ Programme \ Java \ jdk 1.8 \ bin'
  • Ich habe mit ‚org.apache.jasper versucht .jar‘zu meinem Projekt (& Krieg) zu
  • jdbc4.jar auch

in der Bibliothek importiert Was das Problem zu sein scheint? Ich kann die Ursache des Problems nicht erkennen. Ist es wegen 32-Bit vs 64-Bit? oder jdk 1.7 vs 1.8? oder fehlende Umgebungsvariable? oder Problem bei der Tomcat-Konfiguration? etwas anderes?

+0

Könnte es ein Problem mit Tomcat CompilerSourceVM Einstellung sein? Standardmäßig kompiliert Tomcat JSPs mit Java 1.6. http://tomcat.apache.org/tomcat-7.0-doc/jasper-howto.html – dnault

Antwort

20

Problem war in meiner Import-Anweisung, die enthalten:

Originalcode

<%@page contentType="text/html" pageEncoding="UTF-8" language="java" import="java.util.*,mypackage.one.*,mypackage.two.*;"%> 

Das Problem war die ; am Ende der Import-Anweisung!

Corrected Code:

<%@page contentType="text/html" pageEncoding="UTF-8" language="java" import="java.util.*,mypackage.one.*,mypackage.two.*"%> 
+1

fing gerade an, in dieses Problem zu laufen, nachdem er Tomcat aktualisiert hat ... sieh mehr hier: [Bug 57099 - lose Analyse des Importattributs in der Seitenanweisung verschraubt SMAP-Ausgabe] (https://issues.apache.org/bugzilla/show_bug.cgi?id=57099) (relevant für Tomcat 7.0.57 ab 8.0.15) – MikeM

+0

entfernen Sie einfach das Semikolon am listReports.jsp – fjallstorm

2

Verwenden Tomcat 7.0.21 einige Kater Version diesen Fehler zu geben, habe ich konfrontiert auch das gleiche Problem mit der Version 7.0.59.

Verwandte Themen