1

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

因此,在更改 JPL 配置后,我试图停止已经运行的 prolog 引擎,以便之后使用JPL.init().

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

之后,我尝试使用“halt”启动查询,但尽管我在控制台中看到“YAP 执行已停止”,但我的 Java 应用程序也已停止(!)。

有没有办法使用 JPL 重新启动逻辑引擎而不杀死我的 java 应用程序?

4

1 回答 1

0

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

于 2012-08-15T17:26:42.073 回答