使用Windows在jar库上使用System.loadLibrary

时间:2017-07-02 20:59:51

标签: java eclipse maven jar

我正在使用Windows 10操作系统并尝试运行JPBC(基于配对的密码术),如下所述:http://gas.dia.unisa.it/projects/jpbc/buildHowto.html#.WVlWQ4jyhhE。安装适用于库,现在我有一堆文件夹,包括我的本地maven repo .m2 \ repository \ it \ unisa \ dia \ gas中的.jar和.java文件。其中一个文件是jpbc-pbc,但还有更多

现在我从gradle导入了一个需要其中一些文件的项目。该项目包括

System.loadLibrary("jpbc-pbc");

现在,这会引发错误:

Could not load library jpbc-pbc. JCPABE will be extremely slow.
java.lang.UnsatisfiedLinkError: no jpbc-pbc in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at cpabe.Cpabe.<clinit>(Cpabe.java:24)
at cpabe.demo.DemoForCpabe.main(DemoForCpabe.java:63)

我的路径变量链接到C:\ Program Files \ Java \ jdk1.8.0_131。现在无论我尝试什么,将.jar放入它或src文件夹或两者或其他什么,我收到此错误。 我做错了什么?

jpbc-pbc的文件夹结构是

jpbc-pbc
/2.0.0
//jpbc-pbc-2.0.0.jar
/src
//main (and so on)
//test (and so on)
/CMakeLists.txt
/FindGMP.cmake
/FindPBC.cmake
/maven-metadata-local.xml
/pom.xml

1 个答案:

答案 0 :(得分:0)

jpbc-pbc库不在您的java.library.path中。 尝试使用以下方法添加它:

<强> 1。命令行

java -Djava.library.path=<path_to_dll> <main_class>

<强> 2。源代码

System.setProperty(“java.library.path”, “/path/to/library”);

第3。 IDE

取决于您正在使用的IDE,例如在Eclipse中,您可以:

  • 在包资源管理器中右键单击您的项目
  • 选择构建路径 - &gt;配置构建路径
  • 在“库”选项卡中添加库