2010-03-24 7 views
0

Netbeans과 잘 작동하는 애플리케이션을 사용하여 애플리케이션을 빌드했습니다. 그러나 TOMCAT에 배치했을 때이 오류가 발생했습니다javax.servlet.ServletException : 서블릿 용 Servlet.init() 서블릿 예외가 발생했습니다.

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) 

모든 아이디어.

답변

2

SecurityManager가 클래스 경로의 수정을 차단하도록 구성되어있는 것처럼 보입니다. 어떤 플랫폼을 실행하고 있습니까? 보안 관리자 구성을 위해 tomcat conf 디렉토리를 살펴보십시오.

tomcat 5.5의 경우 these docs을 확인하십시오.

는 당신이 파일 $CATALINA_BASE/conf/catalina.policy이 있는지 여부를 체크 아웃해야한다고 생각, 그래서 같은 것을 추가하는 경우 :

당신이 jasper.reports을 사용하지 말아야합니다 귀하의 릴레이 서블릿의 클래스 경로에 작성하는 경우
permission jasper.reports "jasper.reports.compile.class.path", "write"; 

하지만, 자신의 패키지.

+0

저는 WindowsXP에서 실행됩니다. –