我现在正在配置JPL,并且想使用java来使用swi-prolog。
我下载了SWI-Prolog的最新稳定版本,它是6.2.0,并安装在D:\swipl
首先,我将以下路径添加到可访问路径: D:\swipl\bin,它应该包含所有需要的dll文件。
然后,我将以下路径添加到CLASSPATH virable: D:swipl\lib\jpl.jar,这应该是所需的jar文件。
当我尝试运行提供的版本示例时,我得到了以下错误:
Exception in thread "main" java.lang.UnsatisfiedLinkError: jpl.fli.Prolog.thread_self()I
at jpl.fli.Prolog.thread_self(Native Method)
at jpl.Query.open(Query.java:286)
at jpl.Util.textToTerm(Util.java:162)
at jpl.Query.Query1(Query.java:183)
at jpl.Query.<init>(Query.java:176)
at Versions.main(Versions.java:11)在网上搜索后,我发现许多人只是得到了java.lang.UnsatisfiedLinkError: no jpl in java.library.path,这是因为PATH变量的设置,而不是我在这里得到的错误:java.lang.UnsatisfiedLinkError: jpl.fli.Prolog.thread_self()I (是的,在行尾有一个"I“)。
以前有没有人遇到过这个错误?我尝试了几个以前版本的SWI-Prolog,但也遇到了其他类型的错误。我正在使用Eclipse IDE进行Java开发--我错过了什么吗?
发布于 2012-09-07 06:52:51
我已经将问题发送到swi-prolog.org提供的官方邮件列表(swi-prolog@lists.iai.uni-bonn.de),幸运的是,有人帮助我证明了6.2.0版本中存在一些问题。然后我们都尝试了6.0.2版本,它工作得很好。他提到(我注意到) 6.2.0版本的bin文件夹中没有swipl.dll,这可能会导致问题。
我已经通过电子邮件向员工报告了这个问题,至少现在,我建议想要配置JPL的人应该下载6.0.2版本。需要记住的三件事:
如果您使用Eclipse进行Java开发,似乎不需要在IDE中进行配置。只要您遵循上面的3个步骤,并添加正确的jar文件作为外部库,就可以了。
我不确定临时解决方案是否适用于所有人,但肯定的是,每个有问题的人都应该首先尝试这种方法。只要6.2.0版本中的问题已经解决,我就会在这里添加一些评论。
顺便说一句,据我所知,到目前为止,有这个问题的人都在使用32位Windows。
发布于 2012-09-05 23:56:59
尝试通过Run > Run Configuration > project name将路径添加到java.library.path,并在"VM Arguments“选项卡下添加以下内容。
-Djava.library.path="D:\swipl\bin;."此外,在"Environment“选项卡下,添加以下内容:
VARIABLE: PATH
VALUE: D:\swipl\bin;${env_var:PATH}之后,转到Project > Properties > Java Build Path,选择"Libraries“选项卡。单击“添加外部Jar..”找到你的jpl.jar。
发布于 2015-02-02 18:30:32
很好很好,第二个答案是解决方案
prolog创建
这解决了我的问题"Exception in thread "main“java.lang.UnsatisfiedLinkError: no jpl in java.library.path windows”这有点少见,但它可以找到。
https://stackoverflow.com/questions/12283471
复制相似问题