在一个使用JPL与Prolog交互的java应用程序中,我希望能够使用不同的设置重新启动prolog引擎。作为一个例子,我想从SWI更改为YAP(我使用方法JPL.setNativeLibraryDir
配置哪个引擎以及我需要使用的正确本机库的路径)。
因此,在更改JPL配置后,我试图暂停已经运行的prolog引擎,以便在JPL.init()
之后再次重新启动它。
首先我查看了JPL.halt()
,但是文档说它已被弃用,并且该方法的源代码中的注释表明它是无操作的。
之后,我尝试使用'halt'启动查询,但是虽然我在控制台中看到“YAP执行停止”,但我的java应用程序也停止了(!)。
有没有办法在不杀死我的java应用程序的情况下使用JPL重启逻辑引擎?
答案 0 :(得分:0)
为什么不使用批处理文件来运行脚本。首先你可以拥有/ Applications / swi -l你的/ swi /代码,然后在你的prolog代码中使用halt,以便它在执行后停止。您可以使用运行时方法在java中运行批处理文件。