解决tomcat出现:java.lang.IllegalStateException:无输出目录问题

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,将“完全控制”选项“允许”打钩,应用。

总结

作者:十言1原文地址:https://blog.csdn.net/qq_45771313/article/details/122626543

%s 个评论

要回复文章请先登录注册