我正在尝试在Windows 7上安装tomcat-7.0.27。 然后我点击了bin / startup.bat,出现了一个窗口,我在最后一行看到“INFO:761 ms内的服务器启动”。 然后我尝试检查“http”// localhost:8080“但是下面的信息显示:
HTTP Status 500 -
type Exception report
message
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: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:722)
root cause
java.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:722)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.27 logs.
Apache Tomcat/7.0.27
然后我在窗口的每个开头都找到了这个信息:
java.util.logging.ErrorManager: 4
java.io.FileNotFoundException: C:\Program Files\apache-tomcat-7.0.27\logs\catalina.2012-05-14.log (Access is denied)
有谁能告诉我这里出了什么问题?
答案 0 :(得分:21)
当你不小心安装东西时,Windows 7很容易遇到这样的麻烦。您必须确保SYSTEM用户具有对Tomcat文件夹的完全访问权限,以便在Tomcat运行时,它可以在其自己的目录中自由创建文件夹和文件。
答案 1 :(得分:17)
问题是运行Tomcat的用户在安装文件夹中缺少文件权限(读/写)。
解决方案
右键单击Tomcat文件夹(apache-tomcat-7.0.29),选择“属性”,转到“安全选项卡”,尝试将其完全控制到您的PC中的任何用户配置文件,仅用于肯定的。
然后,再次单击C:\ Program Files(x86)\ Apache Software Foundation \ apache-tomcat-7.0.29 \ bin \ startup.bat并等待应用程序“startup.bat”自行创建文件夹。
其他选项是手动的(我手动创建了以下目录):
答案 2 :(得分:7)
对我有用的东西: 转到你的tomcat安装bin目录,对我来说: C:\ Program Files \ Apache Software Foundation \ apache-tomcat-7.0.37 \ bin。 右键单击“startup.bat”并选择“以管理员身份运行”
答案 3 :(得分:3)
您没有在系统驱动器中创建文件夹所需的访问权限。
您可以通过
解决此问题右键单击位于apache安装的“bin”文件夹中的“startup.bat”。
点击“以管理员身份运行”
答案 4 :(得分:2)
HTTP Status 500 - java.lang.IllegalStateException: No output folder
我是Mac OS X 10.8.2 Mountain Lion用户。我需要做的是,去了usr / local
之后sudo chown -R <YOUR_USERNAME> apache-tomcat-7.0.34
当然一切都发生在终端。您还应该注意更改适合您的apache tomcat版本的文件夹名称中的数字。
答案 5 :(得分:1)
检查CATALINA_HOME环境变量是否设置为更正tomcat路径
答案 6 :(得分:0)
如果以前这对您有用,有时工作目录只是处于错误状态,您可以通过删除它并允许tomcat从头创建一个新的来修复它。
答案 7 :(得分:0)
感谢您的解决方案。
这个问题在我的电脑中通过以下步骤解决了。
右键单击位于apache安装的“bin”文件夹中的“startup.bat”。
点击“以管理员身份运行”
答案 8 :(得分:0)
我在Windows 8中遇到了这个问题并且运行“startup.bat”无效。
我通过转到我的JazzTeamServer文件夹(我正在安装Jazz CLM)修复它,右键单击文件夹,属性,安全性,编辑并标记为您正在使用的组的完全控制。
之后,Tomcat服务器可以创建它需要的所有文件夹。
希望这有帮助,这是我在SO中的第一个答案。 ;)
答案 9 :(得分:0)
我遇到了同样的问题,但是可以通过管理权限轻松解决,只需打开具有管理权限的命令提示符就可以了! 希望能帮助别人..