编辑:清晰度-主.pl文件加载,它是所有的子文件,它已被告知加载,但不加载。(所有的咨询(‘subfile.pl’)。)
我有一个使用tuProlog的Java项目。它称一种理论为:
Theory theory = new Theory(":-consult('main.pl').");
engine.setTheory(theory);这是根据手册。file.pl与其他prolog文件存在于同一个文件夹中。在main.pl内部,我有更多的
consult('otherfile.pl').语句来加载其他文件(几个)。
文件夹结构是:
src/main.pl
src/Prolog_Files/otherfile.pl (multiple)
src/main/java/JavaStuff我无法让引擎加载我告诉它要在主file.pl内部咨询的理论
我想知道关于tuProlog的使用是否有什么我不理解的?
当加载以下内容时,该理论起作用:
Theory theory = new Theory(new FileInputStream(url_of_file)).但是,这会在构建jar时引发问题,因为jar无法找到文件位置。
我是否试图正确加载该文件?我在主.pl文件中的咨询正确吗?
有人可以张贴一个例子,这应该如何做,如果没有?手册对这个问题没有详细说明。
谢谢
发布于 2017-03-28 22:13:28
手册在各部分中略显过时--它说要使用that /1,而在其他地方则表示that/1是不推荐的,而include/1则是替代的。
其次,当使用2p.jar时,它从项目根读取Prolog文件作为它的根。创建jar时,2p.jar不能在项目jar中。它们应该位于相对文件夹中,2p.jar读取2p.jar位置为root的Prolog文件。它似乎无法在项目jar中读取。
希望这已经足够清楚了!
https://stackoverflow.com/questions/43077485
复制相似问题