java.lang.IllegalStateException: No output folder 解决方案

org.apache.catalina.core.ApplicationDispatcher invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.IllegalStateException: No output folder
at org.apache.jasper.JspCompilationContext.createOutputDir(JspCompilationContext.java:668)

at org.apache.jasper.JspCompilationContext.getOutputDir(JspCompilationContext.java:197)

...

今天在自己的web项目中新建了一个.jsp文件,选中.jsp右键run as server,发现报出这个错误,经过网上各大神的搜索,发现是mac电脑下tomcat/work/Catalina/localhost 没有读写改权限,可以进入该文件夹下,可以sudo chmod 755 tomcat/work/Catalina/localhost   然后输入root密码即可赋予该文件夹读写该权限,然后继续run as server该jsp文件,还是有问题,localhost目录下也没找到编译后的jsp对应的java和class文件,猜测自己的服务器没关闭,需要重新启动,于是stop restart  再试  还是不行。最后在国外网站有人说必须root启动tomcat,我就跑带外边特地sudo sh start.sh  然后输入jsp文件的URL地址,这样才能访问。不过我不喜欢这种root启动方式,毕竟我还是希望在eclispe里面启动,MAC修改work文件夹权限其实很简单,点中项目,右键显示简介,下面有“共享与权限”,修改为读与写,然后点击右下角的解锁标示,输入你的苹果密码就可以了。再到eclipse里面启动jsp文件,这下一切都正常了。

http://www.jb51.net/os/MAC/170734.html

PS:为何运行jsp需要work的读写权限?这是因为tomcat需要将jsp文件转化为.java文件和.class文件才能运行,而这个java文件和class就需要写在work目录下,你可以自己看看work目录里有将jsp解析出的java和class文件。



猜你喜欢

转载自blog.csdn.net/vr_jia/article/details/71430143