首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >7 7Zip JBinding UnsatisfiedLinkError

7 7Zip JBinding UnsatisfiedLinkError
EN

Stack Overflow用户
提问于 2012-05-10 13:14:08
回答 2查看 2K关注 0票数 1

我看过这里的许多UnsatisfiedLinkError线程,似乎没有什么适合我的问题。

我正在努力使这个api工作:7 7ZipBind

然而,我有一个问题,不能让事情开始工作。我正在命令行中运行一些示例代码,如下所示:

"/sevenzipTest.jar;/sevenzipjbinding-AllWindows.jar;\sevenzipjbinding.jar“C:>java -classpath com.poc.sevenzip.SevenZipSimple c:\archive\test.zip

然而,当我试图运行它时,我会得到错误:

代码语言:javascript
复制
Exception in thread "main" java.lang.UnsatisfiedLinkError: D:\Users\XXXX\AppData\Local\Temp\SevenZipJBinding-9640553\lib7-Zip-JBinding.dll: Can't
find dependent libraries
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(Unknown Source)
        at java.lang.ClassLoader.loadLibrary(Unknown Source)
        at java.lang.Runtime.load0(Unknown Source)
        at java.lang.System.load(Unknown Source)
        at net.sf.sevenzipjbinding.SevenZip.initSevenZipFromPlatformJARIntern(SevenZip.java:428)
        at net.sf.sevenzipjbinding.SevenZip.initSevenZipFromPlatformJAR(SevenZip.java:235)
        at net.sf.sevenzipjbinding.SevenZip.ensureLibraryIsInitialized(SevenZip.java:578)
        at net.sf.sevenzipjbinding.SevenZip.openInArchive(SevenZip.java:567)
        at com.poc.sevenzip.SevenZipSimple.runZip(SevenZipSimple.java:25)
        at com.poc.sevenzip.SevenZipSimple.main(SevenZipSimple.java:64

我感到困惑的是,当库存储在<file_path>/sevenzipjbinding-AllWindows.jar文件中时,为什么它不能定位库(dll文件).我在这里显然没有做正确的事情,并且希望some1能给我一些指点。

干杯

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-17 09:48:46

错误修复被释放了。请使用版本1.06rc或以上。

下载网址:

票数 1
EN

Stack Overflow用户

发布于 2012-07-19 20:14:30

以下说明适用于Windows x86和7 Zip JBinding版本4.65-1.05RC.下载以下DLL。

  • libstdc++-6.dll
  • dw2-1.dll
  • gpsvc.dll
  • sysntfy.dll

将DLL添加到Windows-x86目录中的sevenzipjbinding-AllPlatforms.jar中。然后将以下行追加到jar中sevenzipjbinding-lib.properties目录中的Windows-x86目录中。

代码语言:javascript
复制
sevenzipjbinding.libname.3=gpsvc.dll
sevenzipjbinding.libname.4=libgcc_s_dw2-1.dll
sevenzipjbinding.libname.5=libstdc++-6.dll
sevenzipjbinding.libname.6=sysntfy.dll

与修改jar文件不同,您可以将DLL放在路径中(而不是类路径)。

为了解决这个问题,我从lib7-Zip-JBinding.dll中提取了sevenzipjbinding-AllPlatforms.jar。然后我在依赖沃克中打开了文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10534767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档