Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsp 消息java.lang.IllegalStateException:无输出文件夹_Jsp_Tomcat_Tomcat6 - Fatal编程技术网

Jsp 消息java.lang.IllegalStateException:无输出文件夹

Jsp 消息java.lang.IllegalStateException:无输出文件夹,jsp,tomcat,tomcat6,Jsp,Tomcat,Tomcat6,我不熟悉Windows上的Tomcat。我正在尝试使用Tomcat部署我在RHEL5中创建的Java项目。现在我想在Windows上运行该项目。因此,我将我的项目文件夹复制并粘贴到Tomcat web apps目录中 i.e C:\Program Files\apache-tomcat-6.0.37\webapps 但我无法运行该项目,因为我在打开第一个登录页面时遇到以下错误。在Windows上部署web.xml文件时,是否需要对代码或web.xml文件进行进一步更改 type Excepti

我不熟悉Windows上的Tomcat。我正在尝试使用Tomcat部署我在RHEL5中创建的Java项目。现在我想在Windows上运行该项目。因此,我将我的项目文件夹复制并粘贴到Tomcat web apps目录中

i.e C:\Program Files\apache-tomcat-6.0.37\webapps
但我无法运行该项目,因为我在打开第一个登录页面时遇到以下错误。在Windows上部署web.xml文件时,是否需要对代码或web.xml文件进行进一步更改

type Exception report

message java.lang.IllegalStateException: No output folder

**Description** The server encountered an internal error that prevented
it from fulfilling this request.

Exception

org.apache.jasper.JasperException: java.lang.IllegalStateException: No output folder
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:538)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:364)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
root cause

java.lang.IllegalStateException: No output folder
    org.apache.jasper.JspCompilationContext.createOutputDir(JspCompilationContext.java:678)
    org.apache.jasper.JspCompilationContext.getOutputDir(JspCompilationContext.java:197)
    org.apache.jasper.JspCompilationContext.getClassFileName(JspCompilationContext.java:514)
    org.apache.jasper.compiler.Compiler.isOutDated(Compiler.java:453)
    org.apache.jasper.compiler.Compiler.isOutDated(Compiler.java:399)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:585)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.37 logs.

我已经允许完全访问我的Tomcat目录。 现在我没有得到这个错误。
谢谢

我在ubuntu 14.04上也遇到了类似的问题。 我正在做一些分析,并手动删除了工作文件夹。然后在运行tomcat服务器时,我遇到了相同的异常。 问题是,当我们访问tomcat的manager应用程序时,它需要jsp页面来显示内容,而jsp页面是从生成的类文件呈现的,该类文件位于work/Catalina/localhost/。。。。文件夹

我手动创建了工作目录,但是问题仍然没有解决

然后我意识到,因为我手动创建了工作目录tomcat7,所以用户没有在该目录上写入的权限。将工作目录的所有者从根目录更改为tomcat7

sudo chown tomcat7作业

重新启动tomcat
服务tomcat重新启动

问题解决了


如果您使用Linux/Unix并面临以下问题,希望这对您有所帮助:

步骤:

注意用户和服务,在我的例子中是tomcat,你的可能是其他任何东西

1. mkdir work
2. sudo chown tomcat work  
3. service tomcat6 restart

首先,作为根帐户启动tomcat,工作文件夹已经创建。您以帐户tomcat的身份运行tomcat,因为tomcat帐户对文件夹/work没有权限,所以抛出异常。要解决此问题,请ps remove./work,然后由tomcat用户重新启动tomcat。

检查磁盘空间


当我的/分区已满时,我也出现了这个错误。释放一些磁盘空间为我删除了此错误。

授予tomcat目录的完全权限,然后重新启动该服务。这对我有效,我希望这对您也有效。

可能是因为缺少对缓存目录的写权限(/var/lib/tomcat6,Linux上)。如果是这种情况,请使用以下命令授予完全访问权限并重新启动Tomcat:

sudo/etc/init.d/tomcat6停止
sudo chown-R tomcat6/var/lib/tomcat6
sudo chmod-R 777/var/lib/tomcat6
sudo/etc/init.d/tomcat6启动

如果这对您以前是有效的,那么有时工作目录只是处于错误状态,您可以通过删除它并允许Tomcat从头开始创建一个新目录来修复它。

尝试完全重新启动服务器(如果适用)

我已经更改了工作目录的权限,它正在工作

步骤:
1.转到tomcat所在的目录
2.执行命令:

sudo chmod 777工作

授予tomcat目录的所有权限

sudo chmod -R 777 /path/to/tomcat/directory
我的名字是“
/opt/tomcat/

这对我有用。 希望能有帮助

注意:不要忘记
sudo


阿帕奇总经理。没有windows botão direito做鼠标操作->seguranca->avançadas->permissões->adicionar

这是针对Tomcat 7的,但我认为这与您遇到的问题相同:在程序文件夹之外安装Tomcat,或者给运行Tomcat的用户在此文件夹中写入的权限。Windows根据默认设置禁止普通用户直接访问programs文件夹Wow…该解决方案对我有效:):)非常感谢speedday..在设置apache服务器后立即面临同样的问题。将apache文件夹的位置从“program files”(与您相同)中更改为C根目录“C:\apache-tomcat-9”。问题得到了解决。早些时候,我尝试更改文件夹的权限和访问权限,并尝试重新安装apache,但没有成功。希望这有助于将来访问此问题的人。结果导致启动Tomcat servlet引擎:tomcat8/etc/init.d/tomcat8:202:/etc/init.d/tomcat8:cannot create/var/lib/tomcat8/work/catalina.policy…y不存在,因此它不再尝试创建工作目录。。。你必须自己创造它。在这之后,您仍然会得到
IllegalStateException:No output folder
,直到您自己创建
Catalina
目录。这很有帮助,但解决方案并不简单。在W10上执行此操作大约需要5-10个步骤。如果删除tomcat的缓存目录(例如
/var/cache/tomcat/
),也会出现同样的问题。由于某些原因,tomcat不会自动重新创建它。相同的解决方案 : 手动创建,更新所有者,然后重新启动。