嗨,我有一个jpl接口的问题。我想通过eclipse与mac-ports安装swi-prolog来连接JPL。我有一个jpl.jar,我试图在构建路径的eclipse中导入jar文件,但我有这个错误:" java.library.path"中没有jpl。 所以我在/opt/local/lib/swipl-7.1.29/bin/中复制了libjpl.dylib,当我执行代码时出现了这个错误:"线程中的异常" main" java.lang.UnsatisfiedLinkError:/opt/local/lib/swipl-7.1.29/bin/libjpl.dylib:dlopen(/opt/local/lib/swipl-7.1.29/bin/libjpl.dylib,1):Library未加载:/Users/janw/stable/lib/swipl/lib/x86_64-darwin13.0.0/libswipl.dylib 参考自:/opt/local/lib/swipl-7.1.29/bin/libjpl.dylib 原因:图片未找到"
答案 0 :(得分:1)
经过一段时间的浪费,我找到了解决这个问题的方法。 首先,完全需要通过macports安装swi-prolog,如果没有,就像我一样,当你指向
Djava.library.path=/users/rivax/Applications/SWI-Prolog.app/Contents/swipl/lib/x86_64-darwin13.0.0
这个例外将是apear
Exception in thread "main" java.lang.UnsatisfiedLinkError: /Users/rivax/Applications/SWI-Prolog.app/Contents/swipl/lib/x86_64-darwin13.0.0/libjpl.dylib: dlopen(/Users/rivax/Applications/SWI-Prolog.app/Contents/swipl/lib/x86_64-darwin13.0.0/libjpl.dylib, 1): Library not loaded: /Users/janw/stable/lib/swipl/lib/x86_64-darwin13.0.0/libswipl.dylib
Referenced from: /Users/rivax/Applications/SWI-Prolog.app/Contents/swipl/lib/x86_64-darwin13.0.0/libjpl.dylib
Reason: image not found
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1880)
at java.lang.Runtime.loadLibrary0(Runtime.java:849)
at java.lang.System.loadLibrary(System.java:1088)
at jpl.JPL.loadNativeLibrary(JPL.java:100)
at jpl.fli.Prolog.<clinit>(Prolog.java:85)
at jpl.Query.open(Query.java:286)
at jpl.Util.textToTerm(Util.java:162)
at jpl.Query.<init>(Query.java:198)
at consultasProlog.Consultas.consultaFicheroProlog(Consultas.java:19)
at utilidades.RellenarModelo.ejecutarArchivo(RellenarModelo.java:30)
at javaprolog.JavaProlog.main(JavaProlog.java:30)
Java Result: 1
请按照以下步骤操作。
/opt/local/lib/swipl-6.6.6/lib/x86_64-darwin14.0.0
-Djava.library.path=/opt/local/lib/swipl-6.6.6/lib/x86_64-darwin14.0.0
现在.pl与jpl.jar将能够执行并且咨询将会运行。
希望它会帮助你和每个发现这个地狱问题的人。
干杯坦率地说。