tomcat出现:java.lang.illegalstateexception:无输出目录
问题描述
tomcat分为安装版和解压缩版,解压缩版如果解压到安装盘,在浏览器中访问http://localhost:8080,可能会出现500错误
错误提示如下:
类型 异常报告
消息 java.lang.illegalstateexception: 无输出目录
描述 服务器遇到一个意外的情况,阻止它完成请求。例外情况
org.apache.jasper.jasperexception: java.lang.illegalstateexception: 无输出目录
org.apache.jasper.servlet.jspservletwrapper.handlejspexception(jspservletwrapper.java:605)
org.apache.jasper.servlet.jspservletwrapper.service(jspservletwrapper.java:436)
org.apache.jasper.servlet.jspservlet.servicejspfile(jspservlet.java:385)
org.apache.jasper.servlet.jspservlet.service(jspservlet.java:329)
javax.servlet.http.httpservlet.service(httpservlet.java:741)
org.apache.tomcat.websocket.server.wsfilter.dofilter(wsfilter.java:53)
根本原因。java.lang.illegalstateexception: 无输出目录
org.apache.jasper.jspcompilationcontext.createoutputdir(jspcompilationcontext.java:697)
org.apache.jasper.jspcompilationcontext.getoutputdir(jspcompilationcontext.java:204)
org.apache.jasper.jspcompilationcontext.getclassfilename(jspcompilationcontext.java:545)
org.apache.jasper.compiler.compiler.isoutdated(compiler.java:468)
org.apache.jasper.compiler.compiler.isoutdated(compiler.java:434)
org.apache.jasper.jspcompilationcontext.compile(jspcompilationcontext.java:598)
org.apache.jasper.servlet.jspservletwrapper.service(jspservletwrapper.java:400)
org.apache.jasper.servlet.jspservlet.servicejspfile(jspservlet.java:385)
org.apache.jasper.servlet.jspservlet.service(jspservlet.java:329)
javax.servlet.http.httpservlet.service(httpservlet.java:741)
org.apache.tomcat.websocket.server.wsfilter.dofilter(wsfilter.java:53)
):注意 主要问题的全部 stack 信息可以在 server logs 里查看
原因分析
tomcat目录没有被读写的权限,导致文件不能被编译到指定的工作目录中。
解决方案
找到tomcat目录,右键“属性—>安全—>编辑”,找到users,将“完全控制”选项“允许”打钩,应用。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论