2014-12-02 11 views
7

Zrobiłem projekt na Netbeans na moim lokalnym komputerze z JDK 1.7 (32-bit) Po uruchomieniu aplikacji (przy użyciu serwera tomcat 8.0 na netbeans), to działa idealnie na http://localhost:8080/WebApplication1.illegalargumentexception - Projekt uruchomiony na Netbeans, ale nie na Tomcat jako plik War

Skopiowałem plik wojny bezpośrednio z dist i przesłałem go na mój serwer Windows VM z zainstalowanym tomcat 8.0 i jdk 1.8 (64-bit). Następnie plik wojenny został przesłany za pomocą aplikacji internetowej menedżera Tomcat.

Uwaga: "localhost: 8080 /" i "localhost: 8080/manager" działały bez żadnego problemu.

Jednak po uruchomieniu aplikacji (http://localhost:8080/WebApplication1) - zgłaszane są następujące błędy.

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) 

przyczyna

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) 

<%page import %> mam w moim JSP są 'java.util. *' I 2 klas Java, które są częścią mojego projektu. Wypoczynek moje klasy java zaimportować trochę "java". Pakiety

Dodatkowe informacje:

  • mam ustawić zmiennej 'Path' środowisko do 'C: \ Program Files \ Java \ jdk 1.8 \ bin'
  • Próbowałem tym „org.apache.jasper JAR”do mojego projektu (& wojennej) zbyt
  • jdbc4.jar również importowane w bibliotece

Co wydaje się być problem? Nie jestem w stanie rozpoznać źródła problemu. Czy to z powodu wersji 32-bitowej czy 64-bitowej? lub jdk 1.7 vs 1.8? lub brakującą zmienną środowiskową? lub problem w konfiguracji tomcat? coś innego?

+0

Czy to może być problem z ustawieniem "compilerSourceVM" Tomcat? Domyślnie Tomcat będzie kompilował strony JSP przy użyciu Javy 1.6. http://tomcat.apache.org/tomcat-7.0-doc/jasper-howto.html – dnault

Odpowiedz

20

Problem był w moim instrukcji import, która obejmowała:

oryginalnego kodu

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

Problem był ; na końcu instrukcji import!

Poprawiono kod:

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

właśnie zaczął działać w tym wydaniu po aktualizacji Tomcat ... zobacz więcej tutaj: [Bug 57099 - luźne przetwarzanie atrybutu importu w dyrektywie strony wkręty wyjściowe SMAP] (https://issues.apache.org/bugzilla/show_bug.cgi?id=57099) (dotyczy Tomcat 7.0.57 lub od wersji 8.0.15) – MikeM

+0

po prostu usuń średnik z listyReports.jsp – fjallstorm

2

Korzystanie Tomcat 7.0.21 niektóre wersja Tomcat daje ten błąd, mam również w obliczu tego samego problemu z wersji 7.0.59.

Powiązane problemy