【问题标题】:java.io.FileNotFoundException: /opt/tomcat/work/Catalina/localhost/ROOT/org/apache/jsp/index_jsp.class (Permission denied)java.io.FileNotFoundException:/opt/tomcat/work/Catalina/localhost/ROOT/org/apache/jsp/index_jsp.class(权限被拒绝)
【发布时间】:2021-12-27 17:43:14
【问题描述】:

当我运行应用程序时,它显示错误 500

我检查了路径,它存在但显示权限被拒绝

在哪里可以查看这些权限以及如何启用

错误如下,我是新手,谁能告诉我如何排序

    Root Cause

java.io.FileNotFoundException: /opt/tomcat/work/Catalina/localhost/ROOT/org/apache/jsp/index_jsp.class (Permission denied)
    java.io.FileInputStream.open0(Native Method)
    java.io.FileInputStream.open(FileInputStream.java:195)
    java.io.FileInputStream.<init>(FileInputStream.java:138)
    sun.misc.URLClassPath$FileLoader$1.getInputStream(URLClassPath.java:1397)
    sun.misc.Resource.cachedInputStream(Resource.java:77)
    sun.misc.Resource.getByteBuffer(Resource.java:160)
    java.net.URLClassLoader.defineClass(URLClassLoader.java:460)
    java.net.URLClassLoader.access$100(URLClassLoader.java:74)
    java.net.URLClassLoader$1.run(URLClassLoader.java:369)
    java.net.URLClassLoader$1.run(URLClassLoader.java:363)
    java.security.AccessController.doPrivileged(Native Method)
    java.net.URLClassLoader.findClass(URLClassLoader.java:362)
    org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:129)
    org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:58)
    org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:192)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:413)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379)
    org.apache.jasper.servlet.JspServlet.init(JspServlet.java:135)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
    org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)
    org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
    org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1726)
    org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
    org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Thread.java:748)

【问题讨论】:

    标签: jsp tomcat centos web.xml


    【解决方案1】:

    您检查文件系统的权限。

    当 Tomcat 曾经以 root 启动时发生过此类错误(永远不要这样做),确实写入了一些临时文件(现在属于 root),后来以非特权用户身份启动(应该是这样)。

    非特权用户不能覆盖(甚至不能读取)root 的文件,但需要这样做 - 这通过“权限被拒绝”表示。

    检查您的 Tomcat 以哪个非特权用户身份运行,并确保所有临时文件(通常是目录 worktemplogs)都属于该用户并且是可读写的,包括其中的所有文件.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-21
      • 1970-01-01
      • 2019-03-09
      • 1970-01-01
      • 1970-01-01
      • 2012-08-13
      相关资源
      最近更新 更多