Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 尝试安装jpl库时出错。jpl.dll:Can';找不到依赖库_Java_Eclipse_Dll_Prolog_Swi Prolog - Fatal编程技术网

Java 尝试安装jpl库时出错。jpl.dll:Can';找不到依赖库

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

我在安装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 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)