Java 尝试安装jpl库时出错。jpl.dll:Can';找不到依赖库
我在安装jpl库时遇到问题。我安装了最新的swipl版本(但我以前也尝试过不稳定的版本): 然后我向环境变量添加了依赖路径:Java 尝试安装jpl库时出错。jpl.dll:Can';找不到依赖库,java,eclipse,dll,prolog,swi-prolog,Java,Eclipse,Dll,Prolog,Swi Prolog,我在安装jpl库时遇到问题。我安装了最新的swipl版本(但我以前也尝试过不稳定的版本): 然后我向环境变量添加了依赖路径: Variable: SWI_HOME_DIR Value: C:\Program Files\swipl 然后我在Path中添加了以下值: %SWI_HOME_DIR%\lib\jpl.jar; %SWI_HOME_DIR%\lib; %SWI_HOME_DIR%\bin 我还添加了如下VM参数: -Djava.library.path="C:\Program Fi
Variable: SWI_HOME_DIR
Value: C:\Program Files\swipl
然后我在Path
中添加了以下值:
%SWI_HOME_DIR%\lib\jpl.jar;
%SWI_HOME_DIR%\lib;
%SWI_HOME_DIR%\bin
我还添加了如下VM参数:
-Djava.library.path="C:\Program Files\swipl\bin"
以确保Eclipse看到此文件夹
在此之后,我仍然得到错误:
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: C:\Program Files\swipl\bin\jpl.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1937)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1855)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at org.jpl7.JPL.loadNativeLibrary(JPL.java:79)
at org.jpl7.fli.Prolog.<clinit>(Prolog.java:41)
at org.jpl7.Query.open(Query.java:260)
at org.jpl7.Util.textToTerm(Util.java:102)
at org.jpl7.Query.Query1(Query.java:129)
at org.jpl7.Query.<init>(Query.java:120)
线程“AWT-EventQueue-0”java.lang.UnsatifiedLink中出现异常错误:C:\Program Files\swipl\bin\jpl.dll:找不到依赖库
位于java.lang.ClassLoader$NativeLibrary.load(本机方法)
位于java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1937)
位于java.lang.ClassLoader.loadLibrary(ClassLoader.java:1855)
位于java.lang.Runtime.loadLibrary0(Runtime.java:870)
位于java.lang.System.loadLibrary(System.java:1122)
位于org.jpl7.JPL.loadNativeLibrary(JPL.java:79)
在org.jpl7.fli.Prolog上(Prolog.java:41)
在org.jpl7.Query.open上(Query.java:260)
位于org.jpl7.Util.textToTerm(Util.java:102)
位于org.jpl7.Query.Query1(Query.java:129)
位于org.jpl7.Query(Query.java:120)
我100%确定Eclipse看到了jpl.dll
文件,但在我看来,它似乎需要一些其他库
我知道该线程可能与以下任一线程重复:
但是这些问题没有得到回答,或者答案对我的情况没有帮助 我向环境变量添加了依赖路径: 变量:
SWI\u HOME\u DIR
值:C:\ProgramFiles\swipl
然后我在Path
中添加了以下值:
%SWI\u HOME\u DIR%\lib\jpl.jar代码>
%SWI\u HOME\u DIR%\lib代码>
%SWI\u HOME\u DIR%\bin
以下是安装说明:
将三个库文件(jpl.dll
、jpl.jar
和jpl.pl
)放在可以找到的地方:
jpl.dll
必须由Windows内核找到,并且可以在任何
路径上的文件夹环境变量;
也许%SWI\u HOME\u DIR%\bin
或您的Windows系统文件夹
jpl.jar
必须由使用的任何JavaVM(和编译器)找到
使用JPL。一种可能是将其放在全局类路径上
jpl.pl
是一个Prolog源模块,必须由任何
SWI Prolog发动机与JPL一起使用:
我建议将它放在%SWI\u HOME\u DIR%\library
中,然后调用
make_library_index/1
在该文件夹上(请参阅SWI序言手册
详细信息)以便自动加载器可以找到它
我尝试使用此问题的设置运行swipl
sample,但无法重现错误。当您试图从命令行执行程序时,是否会出现类似的错误?如果是,您应该确保使用
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: C:\Program Files\swipl\bin\jpl.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1937)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1855)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at org.jpl7.JPL.loadNativeLibrary(JPL.java:79)
at org.jpl7.fli.Prolog.<clinit>(Prolog.java:41)
at org.jpl7.Query.open(Query.java:260)
at org.jpl7.Util.textToTerm(Util.java:102)
at org.jpl7.Query.Query1(Query.java:129)
at org.jpl7.Query.<init>(Query.java:120)