1
我的項目運行在Windows 7,jdk6和Apache tomcat7和eclipse juno上。Windows 8 + Jdk 6 + Apache Tomcat7
現在我必須將它移到windows8上。
在windows8中,我下載了用於64位窗口的jdk1.6.0_35,用於64位和月蝕luna的Apche-tomcat7。
但是當我運行這個項目,它會給我的JSP編譯錯誤,也給我下面的錯誤
org.apache.jasper.JasperException: Unable to compile class for JSP
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:661)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
根源
java.io.IOException: tmpFile.renameTo(classFile) failed
org.apache.jasper.compiler.SmapUtil$SDEInstaller.install(SmapUtil.java:204)
org.apache.jasper.compiler.SmapUtil.installSmap(SmapUtil.java:163)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:483)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:378)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
我應該怎麼做,以解決在windows8的這個錯誤?
它將.jsp編譯爲一個類文件。我懷疑這個類文件是一個tmp文件,編譯器沒有權利將它重命名爲右側目錄中的.class文件。那麼在你運行的帳戶下,它是否有權寫入webapp的安裝目錄? – flup
我用Admin登錄的用戶only.I已將此webapps移到windows7和windowsNT那裏,它也給出了相同的編譯錯誤... – user1506628
您的jsp文件是否會拋出FileNotFoundException? https://issues.apache.org/bugzilla/show_bug.cgi?id=38713 – flup