我正在尝试使用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)
虽然我没有在YAP中找到有人报告相同的问题,但有些人在SWI上遇到了这个问题,并被建议验证SWI是否编译了多线程支持。 以防万一,我已经编译了支持多线程的YAP,但没有帮助。
这个问题只发生在OS X上,在Ubuntu上尝试一切正常。
有人知道如何解决OS X上的这个问题吗?