将正在正常运行的tomcat打包(使用tar -zcvf命令打的包),然后放到其他服务器上使用非root用户解压(使用tar -zxvf命令)配置好之后,启动tomcat后报错如下

HTTP Status 500 - java.lang.IllegalStateException: No output folder

typeException report

messagejava.lang.IllegalStateException: No output folder

descriptionThe server encountered an internal error that prevented 

it from fulfilling this request.

exceptionorg.apache.jasper.JasperException: java.lang.IllegalStateException: No output folder

org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:585)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:391)

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) 

root causejava.lang.IllegalStateException: No output folder

org.apache.jasper.JspCompilationContext.createOutputDir(JspCompilationContext.java:738)

org.apache.jasper.JspCompilationContext.getOutputDir(JspCompilationContext.java:196)

org.apache.jasper.JspCompilationContext.getClassFileName(JspCompilationContext.java:581)

org.apache.jasper.compiler.Compiler.isOutDated(Compiler.java:461)

org.apache.jasper.compiler.Compiler.isOutDated(Compiler.java:425)

org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:639)

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) 

noteThe full stack trace of the root cause is available in the 

Apache Tomcat/7.0.39 logs.

----------------------------------------------------------------------------------------------------------------------------------------

org.apache.jasper.JasperException: java.lang.IllegalStateException: No output folder:

关于这个原因主要是权限的问题,在tomcat/work/Catalina/localhost/,主要是这个目录没有被读写的权限,导致文件不能被编译到该指定的工作目录中,此时我们就要针对与这个目录做一些权限的修改权限至少要达到755或者以上,同时注意此处修改权限必须用root身份进行操作,否则不能进行修改,修改完后编译好的jsp文件就在localhost的目录当中了。发现了问题在于work/Catalina/localhost/中无法生成对应文件,把tomcat整个目录、work整个目录都修改了权限仍然不行。最后到具体的目录tomcat/work/Catalina/localhost/进行修改权限OK。

我遇到的这个报错,是因为使用root启动过一次服务,后来用其他用户进行服务的启动,而在启动之前没有删除tomcat/work/目录下的内容,该目录下还是存在属主为root用户的Catalina目录,在使用其他用户执行启动时,由于该Catalina已存在,就不再重新创建,而是增量修改该目录,但是由于其他用户没有权限修改属主为root的目录和文件,因此报错。建议在每次停tomcat成功后,删除tomcat/work/*;如果不想每次都删除,一定要保证每次启动tomcat使用的用户要严格正确。

java.lang.IllegalStateException: No output folder的更多相关文章

  1. 一个异常org.apache.jasper.JasperException: java.lang.IllegalStateException: No output folder:的解决

    今天对一个WebApp做完修改,导出成war包,再发布到Tomcat7中,居然访问不了了! 同样的问题一周前也出现过,后来一顿鼓捣,又莫名其妙好了,当时认为是Tomcat7闹点小毛病,也没多想. 但是 ...

  2. 访问tomcat出现java.lang.IllegalStateException No output folder错误解决方法

    访问tomcat出现java.lang.IllegalStateException: No output folder错误解决方法 问题:tomcat分为安装版和解压缩版,解压缩版如果解压到安装盘,在 ...

  3. 访问tomcat出现HTTP Status 500 - java.lang.IllegalStateException: No output folder

    问题:tomcat分为安装版和解压缩版,解压缩版如果解压到安装盘,在浏览器中访问http://localhost:8080,可能会出现500错误,错误提示如下:  localhost:8080 jav ...

  4. Tomcat: IllegalStateException: No output folder --reference

    Today, I started to create a couple of JSP pages for the server-side part of my MSc thesis project i ...

  5. java.lang.IllegalStateException: getOutputStream() has already been called for this response

    ERROR [Engine] StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exceptionjava.lang ...

  6. java.lang.IllegalStateException:Web app root system property already set to different value 错误原因及解决 Log4j

    Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件.甚至是套接口 服务器.NT的事件记录器.UNIX Syslog守护进程等: ...

  7. java.lang.IllegalStateException异常简单分析和简单解决

    我们在做文件上传或者下载,或者过滤等操作时,可能要用到页面的输出流. 例如在JSP使用: response.reset(); response.setContentType(”application/ ...

  8. 关于java.lang.IllegalStateException

    今天调试程序时遇到了java.lang.IllegalStateException org.apache.catalina.connector.ResponseFacade.sendRedirect( ...

  9. junit测试时,出现java.lang.IllegalStateException: Failed to load ApplicationContext

    课程设计要求进行junit测试,我是在已经做好的ssh项目上做的测试,测试类代码如下 package com.zhang.web.services; import static org.junit.A ...

随机推荐

  1. C++类的默认成员函数

    成员函数隐含this指针参数: 每成员函数一个隐式的指针形参(构造函数除外): 对象在调用成员函数时,编译器会将对象的地址传递给this指针: 1.构造函数(需用一个公有成员函数对私有的成员变量进行初 ...

  2. 界面之下:还原真实的 MV* 模式

    界面之下:还原真实的MV*模式 作者:戴嘉华 转载请注明出处并保留原文链接( https://github.com/livoras/blog/issues/11 )和作者信息. 目录: 前言 MVC ...

  3. javascript模块化之CommonJS、AMD、CMD、UMD、ES6

    javascript模块化之CommonJS.AMD.CMD.UMD.ES6 一.总结 一句话总结: CommonJS是同步加载模块,用在服务端:AMD是异步加载模块,用于浏览器端 1.为什么服务器端 ...

  4. Linux搭建Samba共享服务器

    实验要求: Samba文件共享服务配置与访问,配置访问用户以及相应权限. Tips:创建共享目录/test和/share,并且分别在/test下创建文件tf1(只读)tf2(读写)  在/share ...

  5. IJCAI 2019 Analysis

    IJCAI 2019 Analysis 检索不到论文的关键词:retrofitting word embedding Getting in Shape: Word Embedding SubSpace ...

  6. unity3d卡在loading的解决方法

    解决方案: 关闭U3D,打开电脑的网络适配器把网给掐掉,打开U3D后会提示Workoffline 点击这个即可,然后再把网给起起来就可以了

  7. 阶段3 2.Spring_08.面向切面编程 AOP_8 spring中的环绕通知

    环绕通知.method属性需要新加一个方法 在logger内中新加aroundPringLog方法 异常代码先注释掉 对比现在的环绕通知和之前写代理类做的环绕通知.右侧的方法内有明确的业务层方法(切入 ...

  8. 二十:jinja2之加载静态文件

    静态文件: flask默认指定的静态文件路径为根目录下的static,可以自定义路径,并指定,使用url_for('文件夹', filename='文件名')引用 加载css文件 加载js文件 其他文 ...

  9. 【ABAP系列】SAP ABAP 动态指针

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 动态指针   ...

  10. git 命令 随记

    git merge --abort (--force使用原力!) 通常在合并版本时出现冲突,抛弃合并过程并且尝试还原到合并前的状态,当合并开始时存在未commit的文件,则这些文件无法还原. git ...