Access denied (java.lang.RuntimePermission getClassLoader) when I try to use a jar-file (for example, abdera-0.4.0-incubating.jar) in XPage

I try to use a jar-file (for example, abdera-0.4.0-incubating.jar) in server javascript on XPage.

I put a jar into application as stated here:

http://www-10.lotus.com/ldd/nd85forum.nsf/DateAllThreadedWeb/E4FA8EFD1384FBAD852575A10080C8E9?OpenDocument

  1. Open NSF in designer

  2. Swap to Java perspective

  3. Open the folder WebContent\WEB_INF

  4. Create a folder called lib

  5. Import the JAR into the lib directory

Then I added my custom class “org.apache.abdera.examples.simple.Create” into WebContent\WEB_INF\class\ subfolder.

And finally I call org.apache.abdera.examples.simple.Create.getFeedXmlString() from javascript on XPage

Full stack trace:

java.security.AccessControlException: Access denied (java.lang.RuntimePermission getClassLoader)

at java.lang.Throwable.<init>(Throwable.java:67)

at java.security.AccessControlException.<init>(Unknown Source)

at java.security.AccessController.checkPermission(AccessController.java:108)

at java.lang.SecurityManager.checkPermission(SecurityManager.java:545)

at java.lang.Thread.getContextClassLoader(Thread.java:456)

at org.apache.abdera.util.ServiceUtil.getClassLoader(ServiceUtil.java:135)

at org.apache.abdera.util.AbderaConfiguration.<init>(AbderaConfiguration.java:94)

at org.apache.abdera.util.AbderaConfiguration.<init>(AbderaConfiguration.java:90)

at org.apache.abdera.util.AbderaConfiguration.getDefault(AbderaConfiguration.java:62)

at org.apache.abdera.Abdera.<init>(Abdera.java:81)

at org.apache.abdera.Abdera.getNewFactory(Abdera.java:275)

at org.apache.abdera.examples.simple.Create.getFeedXmlString(Create.java:44)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:59)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:39)

at java.lang.reflect.Method.invoke(Method.java:612)

at com.ibm.jscript.types.JavaAccessObject.call(JavaAccessObject.java:260)

at com.ibm.jscript.types.FBSObject.call(FBSObject.java:142)

at com.ibm.jscript.ASTTree.ASTCall.interpret(ASTCall.java:146)

at com.ibm.jscript.ASTTree.ASTVariableDecl.interpret(ASTVariableDecl.java:80)

at com.ibm.jscript.ASTTree.ASTProgram.interpretEx(ASTProgram.java:100)

at com.ibm.jscript.JSExpression.interpretExpression(JSExpression.java:396)

at com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:247)

at com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:234)

at com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(JavaScriptInterpreter.java:193)

at com.ibm.xsp.binding.javascript.JavaScriptMethodBinding.invoke(JavaScriptMethodBinding.java:102)

at com.ibm.xsp.controller.FacesControllerImpl.invokePhaseMethodBinding(FacesControllerImpl.java:425)

at com.ibm.xsp.controller.FacesControllerImpl.access$0(FacesControllerImpl.java:414)

at com.ibm.xsp.controller.FacesControllerImpl$ViewPhaseListener.afterPhase(FacesControllerImpl.java:492)

at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:218)

at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:120)

at com.ibm.xsp.controller.FacesControllerImpl.render(FacesControllerImpl.java:240)

at com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:201)

at com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:151)

at com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:148)

at com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:128)

at com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:113)

at com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:354)

at com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:414)

at com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:508)

at com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:451)

at com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:343)

at com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:398)

at com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:143)

at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:221)

at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:183)

at com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:222)

Another sample - ehcache-1.6.0-beta3.jar and very similar (on the top) stack:

java.security.AccessControlException: Access denied (java.lang.RuntimePermission getClassLoader)

at java.lang.Throwable.<init>(Throwable.java:67)

at java.security.AccessControlException.<init>(Unknown Source)

at java.security.AccessController.checkPermission(AccessController.java:108)

at java.lang.SecurityManager.checkPermission(SecurityManager.java:545)

at java.lang.Thread.getContextClassLoader(Thread.java:456)

at net.sf.ehcache.util.ClassLoaderUtil.getStandardClassLoader(ClassLoaderUtil.java:43)

at net.sf.ehcache.config.ConfigurationFactory.parseConfiguration(ConfigurationFactory.java:121)

at net.sf.ehcache.CacheManager.parseConfiguration(CacheManager.java:288)

at net.sf.ehcache.CacheManager.init(CacheManager.java:234)

at net.sf.ehcache.CacheManager.<init>(CacheManager.java:224)

at net.sf.ehcache.CacheManager.create(CacheManager.java:415)

at javaCache.CacheTest.test(CacheTest.java:17)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:59)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:39)

at java.lang.reflect.Method.invoke(Method.java:612)

at com.ibm.jscript.types.JavaAccessObject.call(JavaAccessObject.java:260)

at com.ibm.jscript.types.FBSObject.call(FBSObject.java:142)

at com.ibm.jscript.ASTTree.ASTCall.interpret(ASTCall.java:146)

at com.ibm.jscript.ASTTree.ASTVariableDecl.interpret(ASTVariableDecl.java:80)

at com.ibm.jscript.ASTTree.ASTProgram.interpretEx(ASTProgram.java:100)

at com.ibm.jscript.JSExpression.interpretExpression(JSExpression.java:396)

at com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:247)

at com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:234)

at com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(JavaScriptInterpreter.java:193)

at com.ibm.xsp.binding.javascript.JavaScriptMethodBinding.invoke(JavaScriptMethodBinding.java:102)

at com.ibm.xsp.controller.FacesControllerImpl.invokePhaseMethodBinding(FacesControllerImpl.java:425)

at com.ibm.xsp.controller.FacesControllerImpl.access$0(FacesControllerImpl.java:414)

at com.ibm.xsp.controller.FacesControllerImpl$ViewPhaseListener.afterPhase(FacesControllerImpl.java:492)

at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:218)

at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:120)

at com.ibm.xsp.controller.FacesControllerImpl.render(FacesControllerImpl.java:240)

at com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:201)

at com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:151)

at com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:148)

at com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:128)

at com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:113)

at com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:354)

at com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:414)

at com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:508)

at com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:451)

at com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:343)

at com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:398)

at com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:143)

at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:221)

at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:183)

at com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:222)

Subject: Same here…

I am having similar kind of problem :(Any leads on this one??

Subject: Is that a 3rd Party jar?

Subject: Yes, both cases are from open source projects…

http://abdera.apache.org/http://ehcache.sourceforge.net/index.html