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