當我運行應用程式時,它顯示錯誤 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)
uj5u.com熱心網友回復:
您檢查檔案系統上的權限。
我見過這樣的錯誤發生在 Tomcat 曾經以root(永遠不要那樣做)啟動時,確實寫了一些臨時檔案(現在屬于 root),然后以非特權用戶身份啟動(應該如此)。
非特權用戶無法覆寫(或什至不讀取)root 的檔案,但需要這樣做 - 這通過“權限被拒絕”表示。
檢查您的 Tomcat 以哪個非特權用戶身份運行,并確保所有臨時檔案(通常是目錄work、temp、logs)都屬于該用戶且可讀可寫,包括其中的所有檔案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/359085.html
上一篇:計算空屬性值
下一篇:Log4j2記憶體泄漏
