spring 启动错误--权限错误

本文分析了JSF应用在启动过程中遇到的NoClassDefFoundError异常,详细介绍了该问题的根本原因在于类路径缺失或权限配置不当,并提供了解决方案,包括修改server.policy文件以增加必要的权限。

javax.servlet.ServletException: javax/servlet/ServletContext
 at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:300)
 at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)
 at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:118)
 at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1093)
 at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:931)
 at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4183)
 at org.apache.catalina.core.StandardContext.start(StandardContext.java:4536)
 at com.sun.enterprise.web.WebModule.start(WebModule.java:241)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1086)
 at org.apache.catalina.core.StandardHost.start(StandardHost.java:833)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1086)
 at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:483)
 at org.apache.catalina.startup.Embedded.start(Embedded.java:894)
 at com.sun.enterprise.web.WebContainer.start(WebContainer.java:726)
 at com.sun.enterprise.web.HttpServiceWebContainer.startInstance(HttpServiceWebContainer.java:886)
 at com.sun.enterprise.web.HttpServiceWebContainerLifecycle.onStartup(HttpServiceWebContainerLifecycle.java:50)
 at com.sun.enterprise.server.ApplicationServer.onStartup(ApplicationServer.java:300)
 at com.sun.enterprise.server.PEMain.run(PEMain.java:294)
 at com.sun.enterprise.server.PEMain.main(PEMain.java:220)
----- Root Cause -----
java.lang.NoClassDefFoundError: javax/servlet/ServletContext
 at org.springframework.web.context.support.WebApplicationContextUtils.getWebApplicationContext(WebApplicationContextUtils.java:55)
 at com.opensymphony.webwork.spring.WebWorkSpringObjectFactory.init(WebWorkSpringObjectFactory.java:33)
 at com.opensymphony.webwork.dispatcher.DispatcherUtils.init(DispatcherUtils.java:118)
 at com.opensymphony.webwork.dispatcher.DispatcherUtils.<init>(DispatcherUtils.java:79)
 at com.opensymphony.webwork.dispatcher.DispatcherUtils.initialize(DispatcherUtils.java:60)
 at com.opensymphony.webwork.dispatcher.ServletDispatcher.init(ServletDispatcher.java:74)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:585)
 at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249)
 at java.security.AccessController.doPrivileged(Native Method)
 at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
 at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282)
 at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)
 at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:118)
 at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1093)
 at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:931)
 at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4183)
 at org.apache.catalina.core.StandardContext.start(StandardContext.java:4536)
 at com.sun.enterprise.web.WebModule.start(WebModule.java:241)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1086)
 at org.apache.catalina.core.StandardHost.start(StandardHost.java:833)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1086)
 at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:483)
 at org.apache.catalina.startup.Embedded.start(Embedded.java:894)
 at com.sun.enterprise.web.WebContainer.start(WebContainer.java:726)
 at com.sun.enterprise.web.HttpServiceWebContainer.startInstance(HttpServiceWebContainer.java:886)
 at com.sun.enterprise.web.HttpServiceWebContainerLifecycle.onStartup(HttpServiceWebContainerLifecycle.java:50)
 at com.sun.enterprise.server.ApplicationServer.onStartup(ApplicationServer.java:300)
 at com.sun.enterprise.server.PEMain.run(PEMain.java:294)
 at com.sun.enterprise.server.PEMain.main(PEMain.java:220)

 

解决方法:

一般问jes环境权限错误,

/export/home/sun_app_data/domains/domain3/config/server.policy

增加以下权限

grant {
 permission java.lang.reflect.reflectpermission "suppressaccesschecks";
};
grant {
 permission java.lang.runtimepermission "setContextClassLoader";
};
grant {
 permission java.lang.RuntimePermission "getProtectionDomain";
};

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值