耶拿 + 颗粒 + 小程序中的光滑



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

   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)

提前感谢,约安娜

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

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

相关内容

  • 没有找到相关文章

最新更新