尝试在OS X中使用JPL和YAP Prolog时抛出异常

Ser*_*gio 17 java prolog jpl yap

我正在尝试使用JPL进行Java程序和YAP Prolog的交互.

在我的java文件中,这一行抛出异常:

Query query = new Query("consult", new Term[] { new Atom("test.pl") });

例外如下所示:

Exception in thread "main" jpl.JPLException: this Query's engine is not that which is attached to this thread
at jpl.Query.close(Query.java:511)
at jpl.Util.textToTerm(Util.java:165)
at jpl.Query.Query1(Query.java:183)
at jpl.Query.<init>(Query.java:176)
at Test.main(Test.java:12)
Run Code Online (Sandbox Code Playgroud)

虽然我没有在YAP中发现有人报告同样的问题,但是有些人在SWI中遇到了这个问题,并建议他们验证SWI是使用多线程支持编译的.以防我编译YAP支持多线程,但它没有帮助.

这个问题只发生在OS X中,我在Ubuntu中尝试过,一切正常.

有人知道OS X中此问题的解决方法吗?

Ser*_*gio 2

将 Yap 更新到 6.2.2 后,JPL 可以正常工作。不幸的是,我不能完全确定该问题确实与我使用的先前 Yap 版本(6.2.0)有关,还是与其他内容有关。