我正在使用 Apache Tomcat 8 并且我有 JDK 1.7。
我运行“startup.bat”后,Tomcat 开始运行。但是当我尝试运行“ http://localhost:8080/
”时,它显示错误:“ HTTP Status 500 - java.lang.ClassNotFoundException: org.apache.jsp.index_jsp ”
请帮我解决这个问题。 单击此处查看屏幕截图
它工作正常!
我做了什么:
转到Tomcat文件夹的“bin”目录。
cd C:\Program Files\apache-tomcat-8.0.3\bin'
http://localhost:8080/
,它就像魅力一样工作。这也开始生成 Tomcat 日志文件。我执行的唯一不同的事情是“以管理员身份运行”。
但是我检查了Tomcat7,它不需要我“以管理员身份运行”,但它可以工作;不知道为什么
检查你的tomcat安装的lib文件夹。它必须包含 JAR jasper-el.jar、jasper.jar 和 jsp-api.jar。如果它们存在,也许您应该在项目的 Java 构建路径中添加 Tomcat 8。
编辑:
你可以做的是运行shutdown.bat。然后在您的tomcat 安装的logs 文件夹中查找一个名为catalina.out的文件。在文本编辑器中打开它,删除其所有内容并保存。然后尝试再次运行 startup.bat。接下来复制catalina.out的内容并将它们粘贴到这里。这可能会帮助其他人解决您的问题。
我在尝试访问管理器 URL 时遇到了同样的错误(实际上,每次刷新页面后都是 404,然后是 500)。我以为是<SERVER_BASE_URL>/manager/
。原来是这样<SERVER_BASE_URL>/manager/html
。
值得一提的是,它也不会告诉我我没有使用正确的凭据。
很简单,当缺少代码中使用的类时,会抛出 ClassNotFoundException。
EG:如果是用于 servlet,则意味着由于某种原因,tomcat 可以定期使用的某些 servlet api 现在丢失了。
很可能tomcat的lib文件夹中的servlet-api.jar文件(可能是tomcat lib文件夹中的其他jar文件)已损坏或删除。
找到它,你会解决的。