2

我正在尝试使用 SWI-Prolog JPL 库,但我遇到了问题。

我试图让我的 Eclipse 项目访问 JPL,但是当我尝试启动程序时,我收到以下错误:

Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: no jpl in java.library.path

我将 jpl.jar 复制到我的项目目录中,并将其设置在构建路径上。此外,我传递了以下 VM 参数:

-Djava.library.path="C:\Program Files\Prolog\bin"

(这是安装 Prolog 的目录)。

我究竟做错了什么?


编辑:我的计算机上似乎没有 libpl.dll。这会导致我的问题吗?

4

4 回答 4

4

正在运行的jvm.dllJDK/JRE 必须在您的系统中可用,以便PATH正确加载。jpl.dlljava.library.path

您必须注意 JPL 安装和正在运行的 JVM 之间的 32 位/64 位一致性 - 所以不要尝试任何混合。

这是来自旧安装文档的信息。

对于此类安装支持,您应该使用 JPL 邮件列表。

于 2012-03-27T22:12:45.243 回答
1

您应该将 设置java.library.path为 jpl.dll 文件所在的文件夹。据我所知,它是Prolog\bin文件夹。

于 2012-03-17T16:08:25.213 回答
0

Mac 环境中的系统范围解决方案(用于 x86_64-darwin13.1.0 的 SWI-Prolog 版本 7.1.4)将创建以下符号链接:

ln -s /usr/local/Cellar/swi-prolog/7.1.4/libexec/lib/swipl-7.1.4/lib/x86_64-darwin13.1.0/libjpl.jnilib /Library/Java/Extensions/libjpl.jnilib
于 2014-04-25T19:18:51.457 回答
0

可能是

ln -s /Applications/SWI-Prolog.app/Contents/swipl/lib/x86_64-darwin/libjpl.dylib /Library/Java/Extensions/libjpl.dylib

? (在 darwin 文件夹下没有找到 .inilib)

在我的情况下,莫哈韦仍然有错误(SWI-Prolog(线程,64位,版本8.0.2)):

2020 年 1 月 3 日上午 12:10:55 org.apache.catalina.core.StandardWrapperValve 调用严重:Servlet.service() for servlet [ACTIONS] in context with path [/SVIZ] throw exception [Servlet execution throw an exception] with根本原因 java.lang.UnsatisfiedLinkError: /Applications/SWI-Prolog.app/Contents/swipl/lib/x86_64-darwin/libjpl.dylib: dlopen(/Applications/SWI-Prolog.app/Contents/swipl/lib/x86_64- darwin/libjpl.dylib,1):库未加载:@rpath/libswipl.8.dylib 引用自:/Applications/SWI-Prolog.app/Contents/swipl/lib/x86_64-darwin/libjpl.dylib 原因:图像未成立

于 2020-01-02T23:04:23.357 回答