首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JPL/SWI Prolog配置失败

JPL/SWI Prolog配置失败
EN

Stack Overflow用户
提问于 2012-09-05 22:13:30
回答 4查看 12.9K关注 0票数 2

我现在正在配置JPL,并且想使用java来使用swi-prolog。

我下载了SWI-Prolog的最新稳定版本,它是6.2.0,并安装在D:\swipl

首先,我将以下路径添加到可访问路径: D:\swipl\bin,它应该包含所有需要的dll文件。

然后,我将以下路径添加到CLASSPATH virable: D:swipl\lib\jpl.jar,这应该是所需的jar文件。

当我尝试运行提供的版本示例时,我得到了以下错误:

代码语言:javascript
复制
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开发--我错过了什么吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 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版本。需要记住的三件事:

  1. 在环境变量的系统变量下添加一个新的变量SWI_HOME_DIR,并将路径设置为您安装SWI-Prolog的位置(我的路径为D:\swipl);
  2. 将path %SWI_HOME_DIR%\bin添加到path变量中,而不是使用类似于"D:\swipl\bin“的内容。(否则会出现致命错误:找不到系统资源)
  3. 将path %SWI_HOME_DIR%\lib\jpl.jar添加到PATH变量,而不是使用类似"D:\swipl\lib\jpl.jar“的内容。(否则将出现致命错误:找不到系统资源)

如果您使用Eclipse进行Java开发,似乎不需要在IDE中进行配置。只要您遵循上面的3个步骤,并添加正确的jar文件作为外部库,就可以了。

我不确定临时解决方案是否适用于所有人,但肯定的是,每个有问题的人都应该首先尝试这种方法。只要6.2.0版本中的问题已经解决,我就会在这里添加一些评论。

顺便说一句,据我所知,到目前为止,有这个问题的人都在使用32位Windows。

票数 4
EN

Stack Overflow用户

发布于 2012-09-05 23:56:59

尝试通过Run > Run Configuration > project name将路径添加到java.library.path,并在"VM Arguments“选项卡下添加以下内容。

代码语言:javascript
复制
-Djava.library.path="D:\swipl\bin;."

此外,在"Environment“选项卡下,添加以下内容:

代码语言:javascript
复制
VARIABLE: PATH
VALUE: D:\swipl\bin;${env_var:PATH}

之后,转到Project > Properties > Java Build Path,选择"Libraries“选项卡。单击“添加外部Jar..”找到你的jpl.jar

票数 2
EN

Stack Overflow用户

发布于 2015-02-02 18:30:32

很好很好,第二个答案是解决方案

prolog创建

  1. 变量以设置swi prolog安装目录SWI_HOME_DIR - C:\Program prolog路径指向库和bin,如下所示--

这解决了我的问题"Exception in thread "main“java.lang.UnsatisfiedLinkError: no jpl in java.library.path windows”这有点少见,但它可以找到。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12283471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档