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?
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