简体   繁体   English

在 Apache Tomcat 上运行 Spring-Boot Web App 时出现 500 Servlet 错误 - 无法删除类文件

[英]500 Servlet error when running Spring-Boot Web App on Apache Tomcat - Unable to delete class file

I have been working on developing a web app using spring-boot, but suddenly ran into a possible permissions issue when deploying with apache tomcat (9.0.36).我一直致力于使用 spring-boot 开发 Web 应用程序,但在使用 apache tomcat (9.0.36) 进行部署时突然遇到了可能的权限问题。 None of the code has changed, but suddenly Jasper cannot compile my JSP class files.没有任何代码更改,但突然间 Jasper 无法编译我的 JSP 类文件。 It looks like it is trying to delete class files in the tomcat deployment directory, but fails.貌似是尝试删除tomcat部署目录下的class文件,但是失败了。

I am not sure what could be causing this, but it happens both when running it through MyEclipse Tomcat, and using the embedded Tomcat server with Maven's spring-boot:run command.我不确定是什么导致了这种情况,但是在通过 MyEclipse Tomcat 运行它时以及使用带有 Maven 的spring-boot:run命令的嵌入式 Tomcat 服务器时都会发生这种情况。 Here is an example of the error:这是错误的示例:

Fri Sep 04 11:04:00 EDT 2020
There was an unexpected error (type=Internal Server Error, status=500).
Unable to delete class file

Stack Trace:堆栈跟踪:

2020-09-08 16:37:26.192 ERROR 21236 --- [nio-8080-exec-1] o.a.c.c.C.[.[localhost].[/].[jsp]        : Servlet.service() for servlet [jsp] in context with path [] threw exception [org.apache.jasper.JasperException: Unable to compile class for JSP] with root cause

java.io.IOException: Unable to delete class file [C:\Users\ek040e\Documents\Work\apache-tomcat-9.0.36\work\Catalina\localhost\ROOT\org\apache\jsp\index_jsp.class]
    at org.apache.jasper.compiler.SmapUtil$SDEInstaller.install(SmapUtil.java:180) ~[jasper.jar:9.0.36]
    at org.apache.jasper.compiler.SmapUtil.installSmap(SmapUtil.java:142) ~[jasper.jar:9.0.36]
    at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:543) ~[jasper.jar:9.0.36]
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:392) ~[jasper.jar:9.0.36]
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:362) ~[jasper.jar:9.0.36]
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:346) ~[jasper.jar:9.0.36]
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:605) ~[jasper.jar:9.0.36]
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:400) ~[jasper.jar:9.0.36]
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385) ~[jasper.jar:9.0.36]
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329) ~[jasper.jar:9.0.36]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) ~[servlet-api.jar:na]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) ~[catalina.jar:9.0.36]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:9.0.36]
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-websocket.jar:9.0.36]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[catalina.jar:9.0.36]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:9.0.36]
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) ~[catalina.jar:9.0.36]
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [catalina.jar:9.0.36]
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) [catalina.jar:9.0.36]
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) [catalina.jar:9.0.36]
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [catalina.jar:9.0.36]
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690) [catalina.jar:9.0.36]
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) [catalina.jar:9.0.36]
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) [catalina.jar:9.0.36]
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373) [tomcat-coyote.jar:9.0.36]
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-coyote.jar:9.0.36]
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868) [tomcat-coyote.jar:9.0.36]
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590) [tomcat-coyote.jar:9.0.36]
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-coyote.jar:9.0.36]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_112]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_112]
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:9.0.36]
    at java.lang.Thread.run(Thread.java:745) [na:1.8.0_112]

Stuff like this happens on local boxes.这样的事情发生在本地盒子上。 It could be your antivirus or some other process on your computer or parallel threads in your IDE.它可能是您的计算机上的防病毒程序或其他一些进程,也可能是 IDE 中的并行线程。 I wouldn't worry about it until it starts happening on a prod box.我不会担心它,直到它开始发生在产品盒上。 Sometimes you just need to nuke the whole thing and start over, especially when using eclipse.有时您只需要核对整个事情并重新开始,尤其是在使用 eclipse 时。 I wouldnt worry too much about it so long as everything works properly via maven and the command line.只要通过 maven 和命令行一切正常,我就不会太担心。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 java.lang.NoSuchMethodException 部署在 tomcat 上时 Spring-boot Web 应用程序中的错误 - java.lang.NoSuchMethodException error in Spring-boot web-application when deploying on tomcat 没有在tomcat 9上运行的Spring启动Web应用程序 - Spring boot web app not running on tomcat 9 HTTP状态500-为RESTful Web应用实例化Servlet类Tomcat 8.5时出错 - HTTP Status 500 - Error instantiating servlet class Tomcat 8.5 for RESTful web app 在 spring-boot 中的嵌入式 apache tomcat 中配置“tomcat-server.xml”文件 - Configuring 'tomcat-server.xml' file inside of embedded apache tomcat in spring-boot 在 Spring-Boot 上启动 Web 应用程序时出错 - Error when launching a web application on Spring-Boot 在嵌入式Tomcat上从Spring-Boot Web应用程序运行Python脚本 - Running a Python script from Spring-Boot Web Application on embedded Tomcat 春季启动+ Apache骆驼+嵌入式tomcat显示SQS删除时收据句柄已过期。 在外部tomcat中正常工作 - Spring-boot + Apache camel + Embedded tomcat showing The receipt handle has expired on SQS delete. Working fine in external tomcat Spring 引导战争文件 Tomcat 9 部署帮助状态 500 错误 - Spring Boot War File Tomcat 9 Deployment Help Status 500 Error 运行Servlet时出错(Apache Tomcat无法找到.properties文件) - Error while running a servlet (apache tomcat cannot find .properties file) 使用 ant 编译 Spring-Boot 应用程序时出错 - Error when compile Spring-Boot app with ant
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM