• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

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

 
Greenhorn
Posts: 8
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I have a java swing application run fine on my laptop with issuing command 'java -jar DataDictionaryGUI.jar configfile'. This jar requires ojdbc14.jar. So in its MANIFEST.MF, I put in 'Class-Path: lib/ojdbc14.jar'.
Now I wanna invoke through web start. I signed DataDictionaryGUI.jar and generated sDataDictionaryGUI.jar. The command I used was: jarsigner -keystore mystore -signedjar sDataDictionaryGUI.jar DataDictionaryGUI.jar signFiles. I did the same for ojdbc14.jar and got sojdbc14.jar. Saved it in lib directory too.
The jnlp file contains:

<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+"
codebase="file:///C:/Backup/SignJarTest/"
>
<information>
<title>Data Ditionary Lookup</title>
<vendor>Java Developer Connection</vendor>
<homepage href="/jdc" />
<description>Demonstration of JNLP</description>
</information>
<offline-allowed/>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.6" />
<jar href="file:///C:/Backup/SignJarTest/sDataDictionaryGUI.jar"

main="true"/>
<jar href="file:///C:/Backup/SignJarTest/lib/sojdbc14.jar"/>
</resources>
<application-desc

main-class="com.mincom.cis.datadictionary.main.RetrieveDataDictionary" />
</jnlp>

After I invoked the jnlp file, JFrame window showed up as we don't need jdbc at the moment. After I clicked a button which required jdbc, I got error:
java.security.AccessControlException: access denied (java.lang.RuntimePermission getClassLoader)....

Log is below:

Reading certificates from 4526 file:/C:/Backup/SignJarTest/sDataDictionaryGUI.jar | C:\Documents and Settings\bz\Application Data\Sun\Java\Deployment\cache\6.0\26\7bad111a-33f16687.idx
Reading certificates from 51154 file:/C:/Backup/SignJarTest/lib/sojdbc14.jar | C:\Documents and Settings\bz\Application Data\Sun\Java\Deployment\cache\6.0\17\13ec8811-2d3358bb.idx

---------------------------------------------- <--- the section above showed when window appeared. The rest showed when button was clicked and jdbc was required.


Exception in thread "AWT-EventQueue-0" java.lang.ExceptionInInitializerError
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.mincom.cis.datadictionary.model.entity.DatabaseManager.<init>(DatabaseManager.java:48)
at com.mincom.cis.datadictionary.model.entity.DatabaseManager.getInstance(DatabaseManager.java:62)
at com.mincom.cis.datadictionary.model.entity.MSFTableFactory.findByMSFTable(MSFTableFactory.java:30)
at com.mincom.cis.datadictionary.main.RetrieveDataDictionary.actionPerformed(RetrieveDataDictionary.java:65)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission getClassLoader)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.ClassLoader.getSystemClassLoader(Unknown Source)
at oracle.jdbc.driver.OracleDriver.<clinit>(OracleDriver.java:316)
... 31 more


Can someone please tell me why? Thanks.
 
Consider Paul's rocket mass heater.
reply
    Bookmark Topic Watch Topic
  • New Topic