【问题标题】:Jena + Pellet + Slick in an applet小程序中的 Jena + Pellet + Slick
【发布时间】:2012-06-02 15:57:14
【问题描述】:

我正在尝试将 Jena 库、Pellet 和一些 RPG 2d 库 Slick 全部集成到一个小程序中。 所以基本上当我在浏览器中运行小程序时,我得到这个文件权限错误(我使用的 jars 都是签名的):

   Exception in thread "Thread-15" java.lang.ExceptionInInitializerError
    at org.mindswap.pellet.ABox.<init>(ABox.java:208)
    at org.mindswap.pellet.KnowledgeBase.clear(KnowledgeBase.java:540)
    at org.mindswap.pellet.KnowledgeBase.<init>(KnowledgeBase.java:418)
    at org.mindswap.pellet.jena.PelletInfGraph.<init>(PelletInfGraph.java:99)
    at org.mindswap.pellet.jena.PelletReasoner.bind(PelletReasoner.java:95)
    at org.mindswap.pellet.jena.PelletReasoner.bind(PelletReasoner.java:53)
    at com.hp.hpl.jena.ontology.impl.OntModelImpl.generateGraph(OntModelImpl.java:2744)
    at com.hp.hpl.jena.ontology.impl.OntModelImpl.<init>(OntModelImpl.java:139)
    at com.hp.hpl.jena.ontology.impl.OntModelImpl.<init>(OntModelImpl.java:128)
    at com.hp.hpl.jena.rdf.model.ModelFactory.createOntologyModel(ModelFactory.java:410)
    at RPGGame.GameSelectionScreen.init(GameSelectionScreen.java:170)
    at RPGGame.RPGGame.initStatesList(RPGGame.java:39)
    at org.newdawn.slick.state.StateBasedGame.init(StateBasedGame.java:164)
    at org.newdawn.slick.AppletGameContainer$Container.initApplet(AppletGameContainer.java:272)
    at org.newdawn.slick.AppletGameContainer$ContainerPanel.initGL(AppletGameContainer.java:229)
    at org.newdawn.slick.AppletGameContainer$ContainerPanel.start(AppletGameContainer.java:216)
    at org.newdawn.slick.AppletGameContainer$1.run(AppletGameContainer.java:92)
    Caused by: java.security.AccessControlException: access denied      ("java.util.PropertyPermission"     "pellet.configuration" "read")
    at java.security.AccessControlContext.checkPermission(Unknown Source)
    at java.security.AccessController.checkPermission(Unknown Source)
    at java.lang.SecurityManager.checkPermission(Unknown Source)
    at java.lang.SecurityManager.checkPropertyAccess(Unknown Source)
    at java.lang.System.getProperty(Unknown Source)
    at org.mindswap.pellet.PelletOptions.<clinit>(PelletOptions.java:805)

提前致谢, 约阿那

【问题讨论】:

  • 根据堆栈跟踪,这是一个权限问题。也许编辑您的问题以立即明确。

标签: java applet jena pellet


【解决方案1】:

该错误是因为 ABox 试图从 PelletOptions 中读取信息,这需要加载 Pellet 配置。它通常会尝试从 jar 中读取它,但首先,它会仔细检查用户在系统属性中指定的位置是否与默认位置不同。正是这个检查导致了错误。

您可以只修改 PelletOptions 以始终检查 jar 并避免系统属性检查,或者您可以调整小程序的安全性以使其正常(我不知道这是否可能,从未使用过小程序之前)。

【讨论】:

  • 你能告诉你具体指的是什么吗?我的意思是,为了避免系统属性检查,我应该修改什么以及在哪里修改? (我应该从pellet-core.jar 编辑Pellet.properties 文件吗?)
猜你喜欢
  • 1970-01-01
  • 2013-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-09
  • 2016-03-03
  • 1970-01-01
相关资源
最近更新 更多