[英]javax.servlet.ServletException: Servlet.init() for servlet spring threw exception
[英]javax.servlet.ServletException: Servlet.init() for servlet Relay threw exception
我使用Netbeans構建了應用程序,並且運行良好。 但是當我在TOMCAT上部署時,出現此錯誤
javax.servlet.ServletException: Servlet.init() for servlet Relay threw exception
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
java.lang.Thread.run(Thread.java:636)
*root cause*
java.security.AccessControlException: access denied (java.util.PropertyPermission jasper.reports.compile.class.path write)
java.security.AccessControlContext.checkPermission(AccessControlContext.java:342)
java.security.AccessController.checkPermission(AccessController.java:553)
java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
java.lang.System.setProperty(System.java:744)
com.servlet.Relay.init(Relay.java:38)
javax.servlet.GenericServlet.init(GenericServlet.java:212)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:616)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:269)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Subject.java:537)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:301)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:115)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
任何想法。
看來SecurityManager已配置為阻止對類路徑的修改。 你在運行什么平台? 並查看安全管理器配置的tomcat conf目錄。
查看這些文檔以獲取tomcat 5.5。
我認為您應該檢查一下是否有文件$CATALINA_BASE/conf/catalina.policy
,如果有的話,添加以下內容:
permission jasper.reports "jasper.reports.compile.class.path", "write";
如果您在Relay Servlet中寫入該類路徑,則不應使用jasper.reports,而應使用自己的包。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.