You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by "Stefán F. Stefánsson" <st...@decode.is> on 2000/10/30 12:52:26 UTC
java.security.policy problems with EmbededTomcat
Hi.
I'm having HUGE problems with EmbededTomcat and the Java 2 security
manager.
I'm trying to start up Tomcat through the EmbededTomcat class and adding
one context for the root.
Here is the code I'm using:
try
{
EmbededTomcat tc=new EmbededTomcat();
tc.setWorkDir( "c:/jakarta/build/tomcat/work");
ServletContext sctx;
sctx=tc.addContext("", new java.net.URL
( "file:/C:/ips"));
tc.initContext( sctx );
tc.addEndpoint( 8080, null, null);
tc.start();
while(true)
{
Thread.sleep(100);
}
}
catch (Throwable t )
{
t.printStackTrace();
}
And here is the output I'm getting from Tomcat:
ContextManager: Adding context Ctx( )
cannot process configuration web service using " /C:/ips"
Security init for Context /C:/ips failed
java.security.AccessControlException: access denied
(java.lang.RuntimePermission createClassLoader)
at
java.security.AccessControlContext.checkPermission(AccessControlContext.
java:272)
at
java.security.AccessController.checkPermission(AccessController.java:399
)
at
java.lang.SecurityManager.checkPermission(SecurityManager.java:545)
at
java.lang.SecurityManager.checkCreateClassLoader(SecurityManager.java:61
0)
at java.lang.ClassLoader.<init>(ClassLoader.java:234)
at
org.apache.tomcat.loader.AdaptiveClassLoader.<init>(AdaptiveClassLoader.
java:213)
at
org.apache.tomcat.loader.AdaptiveServletLoader.<init>(AdaptiveServletLoa
der.java:88)
at
org.apache.tomcat.context.LoaderInterceptor.contextInit(LoaderIntercepto
r.java:93)
at
org.apache.tomcat.core.ContextManager.initContext(ContextManager.java:48
0)
at
org.apache.tomcat.startup.EmbededTomcat.initContext(EmbededTomcat.java:2
37)
at TestRun.main(TestRun.java:30)
java.security.AccessControlException: access denied
(java.net.SocketPermission localhost:8080 listen,resolve)
at
java.security.AccessControlContext.checkPermission(AccessControlContext.
java:272)
at
java.security.AccessController.checkPermission(AccessController.java:399
)
at
java.lang.SecurityManager.checkPermission(SecurityManager.java:545)
at
java.lang.SecurityManager.checkListen(SecurityManager.java:1127)
at java.net.ServerSocket.<init>(ServerSocket.java:163)
at java.net.ServerSocket.<init>(ServerSocket.java:121)
at
org.apache.tomcat.net.DefaultServerSocketFactory.createSocket(DefaultSer
verSocketFactory.java:97)
at
org.apache.tomcat.service.PoolTcpEndpoint.startEndpoint(PoolTcpEndpoint.
java:239)
at
org.apache.tomcat.service.PoolTcpConnector.start(PoolTcpConnector.java:1
88)
at
org.apache.tomcat.core.ContextManager.start(ContextManager.java:516)
at
org.apache.tomcat.startup.EmbededTomcat.start(EmbededTomcat.java:267)
at TestRun.main(TestRun.java:32)
The weird thing is that I'm running the java machine with the parameters
"-Djava.security.policy==tomcat.policy" where the tomcat.policy file
resides in {JAVA_HOME}\jre\lib\security and looks like this:
grant {
permission java.security.AllPermission;
};
This is really starting to get annoying and has taken up alot of time so
please help if you can.
Kind regards, Stefan Freyr
--------------------------------------------
Stefan Freyr Stefansson
Software Developer
deCODE Genetics, Inc.
Phone: (+354) 570 2854
GSM: (+354) 861 1718
Fax: (+354) 491 3782
<<Stefan Stefansson.vcf>>
Re: java.security.policy problems with EmbededTomcat
Posted by Nick Betteridge <n....@syntactics.com>.
Aren't you mixing up windows and unix - it's either C:\......windows or
/unix
Stefán F. Stefánsson wrote:
>
> Hi.
>
> I'm having HUGE problems with EmbededTomcat and the Java 2 security
> manager.
>
> I'm trying to start up Tomcat through the EmbededTomcat class and adding
> one context for the root.
>
> Here is the code I'm using:
> try
> {
> EmbededTomcat tc=new EmbededTomcat();
> tc.setWorkDir( "c:/jakarta/build/tomcat/work");
> ServletContext sctx;
> sctx=tc.addContext("", new java.net.URL
> ( "file:/C:/ips"));
> tc.initContext( sctx );
> tc.addEndpoint( 8080, null, null);
> tc.start();
>
> while(true)
> {
> Thread.sleep(100);
> }
> }
> catch (Throwable t )
> {
> t.printStackTrace();
> }
>
> And here is the output I'm getting from Tomcat:
> ContextManager: Adding context Ctx( )
> cannot process configuration web service using " /C:/ips"
> Security init for Context /C:/ips failed
> java.security.AccessControlException: access denied
> (java.lang.RuntimePermission createClassLoader)
> at
> java.security.AccessControlContext.checkPermission(AccessControlContext.
> java:272)
> at
> java.security.AccessController.checkPermission(AccessController.java:399
> )
> at
> java.lang.SecurityManager.checkPermission(SecurityManager.java:545)
> at
> java.lang.SecurityManager.checkCreateClassLoader(SecurityManager.java:61
> 0)
> at java.lang.ClassLoader.<init>(ClassLoader.java:234)
> at
> org.apache.tomcat.loader.AdaptiveClassLoader.<init>(AdaptiveClassLoader.
> java:213)
> at
> org.apache.tomcat.loader.AdaptiveServletLoader.<init>(AdaptiveServletLoa
> der.java:88)
> at
> org.apache.tomcat.context.LoaderInterceptor.contextInit(LoaderIntercepto
> r.java:93)
> at
> org.apache.tomcat.core.ContextManager.initContext(ContextManager.java:48
> 0)
> at
> org.apache.tomcat.startup.EmbededTomcat.initContext(EmbededTomcat.java:2
> 37)
> at TestRun.main(TestRun.java:30)
> java.security.AccessControlException: access denied
> (java.net.SocketPermission localhost:8080 listen,resolve)
> at
> java.security.AccessControlContext.checkPermission(AccessControlContext.
> java:272)
> at
> java.security.AccessController.checkPermission(AccessController.java:399
> )
> at
> java.lang.SecurityManager.checkPermission(SecurityManager.java:545)
> at
> java.lang.SecurityManager.checkListen(SecurityManager.java:1127)
> at java.net.ServerSocket.<init>(ServerSocket.java:163)
> at java.net.ServerSocket.<init>(ServerSocket.java:121)
> at
> org.apache.tomcat.net.DefaultServerSocketFactory.createSocket(DefaultSer
> verSocketFactory.java:97)
> at
> org.apache.tomcat.service.PoolTcpEndpoint.startEndpoint(PoolTcpEndpoint.
> java:239)
> at
> org.apache.tomcat.service.PoolTcpConnector.start(PoolTcpConnector.java:1
> 88)
> at
> org.apache.tomcat.core.ContextManager.start(ContextManager.java:516)
> at
> org.apache.tomcat.startup.EmbededTomcat.start(EmbededTomcat.java:267)
> at TestRun.main(TestRun.java:32)
>
> The weird thing is that I'm running the java machine with the parameters
> "-Djava.security.policy==tomcat.policy" where the tomcat.policy file
> resides in {JAVA_HOME}\jre\lib\security and looks like this:
>
> grant {
> permission java.security.AllPermission;
> };
>
> This is really starting to get annoying and has taken up alot of time so
> please help if you can.
>
> Kind regards, Stefan Freyr
>
> --------------------------------------------
> Stefan Freyr Stefansson
> Software Developer
> deCODE Genetics, Inc.
>
> Phone: (+354) 570 2854
> GSM: (+354) 861 1718
> Fax: (+354) 491 3782
> <<Stefan Stefansson.vcf>>
>
> ------------------------------------------------------------------------
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org