使用JPL从Java重新启动Prolog引擎

时间:2012-04-11 22:31:40

标签: java prolog jpl

在一个使用JPL与Prolog交互的java应用程序中,我希望能够使用不同的设置重新启动prolog引擎。作为一个例子,我想从SWI更改为YAP(我使用方法JPL.setNativeLibraryDir配置哪个引擎以及我需要使用的正确本机库的路径)。

因此,在更改JPL配置后,我试图暂停已经运行的prolog引擎,以便在JPL.init()之后再次重新启动它。

首先我查看了JPL.halt(),但是文档说它已被弃用,并且该方法的源代码中的注释表明它是无操作的。

之后,我尝试使用'halt'启动查询,但是虽然我在控制台中看到“YAP执行停止”,但我的java应用程序也停止了(!)。

有没有办法在不杀死我的java应用程序的情况下使用JPL重启逻辑引擎?

1 个答案:

答案 0 :(得分:0)

为什么不使用批处理文件来运行脚本。首先你可以拥有/ Applications / swi -l你的/ swi /代码,然后在你的prolog代码中使用halt,以便它在执行后停止。您可以使用运行时方法在java中运行批处理文件。