我正在尝试在Windows 7上安装tomcat-7.0.27。然后我单击bin/startup.bat,出现一个窗口,我在最后一行看到"INFO:服务器在761毫秒内启动"。然后我尝试检查"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 Filesapache-tomcat-7.0.27logscatalina.2012-05-14.log (Access is denied)
谁能告诉我这里出了什么问题?
7 在安装东西不够小心时很容易遇到这样的麻烦。您必须确保系统用户对Tomcat文件夹具有完全访问权限,以便在Tomcat运行时,它可以在自己的目录中自由创建文件夹和文件。
问题是运行 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"自行创建文件夹。
其他选项是手动的(我手动创建了以下目录(:
- apache-tomcat-7.0.14/work/Catalina/localhost:
- apache-tomcat-7.0.14/work/Catalina/localhost/_
- apache-tomcat-7.0.14/work/Catalina/localhost/docs
- apache-tomcat-7.0.14/work/Catalina/localhost/examples
- apache-tomcat-7.0.14/work/Catalina/localhost/host-manager
- apache-tomcat-7.0.14/work/Catalina/localhost/manager
- apache-tomcat-7.0.14/config/Catalina/localhost/
- apache-tomcat-7.0.14/logs
什么对我有用:转到您的 tomcat 安装箱目录,对我来说:C:\Program Files\Apache Software Foundation\apache-tomcat-7.0.37\bin.右键单击"启动.bat"并选择"以管理员身份运行">
您没有在系统驱动器中创建文件夹所需的访问权限。
你可以通过以下方式解决这个问题
-
右键单击位于Apache安装的"bin"文件夹中的"启动.bat"。
-
单击"以管理员身份运行">
搜索时将我引导到这里:
HTTP Status 500 - java.lang.IllegalStateException: No output folder
我是 Mac OS X 10.8.2 Mountain Lion 用户。我需要做的是,在去 usr/本地之后
sudo chown -R <YOUR_USERNAME> apache-tomcat-7.0.34
当然,一切都发生在终端中。您还应该注意更改适合您的 apache tomcat 版本的文件夹名称中的数字。
检查环境变量是否设置为正确的CATALINA_HOME tomcat 路径
感谢您的解决方案。
这个问题在我的电脑中通过以下步骤解决了。
-
右键单击位于Apache安装的"bin"文件夹中的"启动.bat"。
-
单击"以管理员身份运行">
我遇到了同样的问题,但可以通过管理权限轻松解决,只需使用管理权限打开命令提示符即可工作!!希望能帮助别人。
如果这以前对您有用,有时工作目录只是处于错误状态,您可以通过删除它并允许 tomcat 从头开始创建一个新目录来修复它。
我在Windows 8上遇到了这个问题,运行"startup.bat"不起作用。
我通过转到我的 JazzTeamServer 文件夹(我正在安装 Jazz CLM(来修复它,右键单击文件夹、属性、安全性、编辑并标记为您正在使用的组的完全控制。
之后,Tomcat服务器能够创建所需的所有文件夹。
希望这有帮助,这是我在SO中的第一个答案。 ;)