0

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

   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)

提前致谢, 约阿娜

4

1 回答 1

0

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

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

于 2012-06-03T15:03:09.197 回答