java - 无法加载 7z-JBinding : no 7-Zip-JBinding in java. 库.path

标签 java 7zip archlinux

系统详细信息:Linux 3.14.21-1-MANJARO x64

Java版本:java版本“1.8.0_25”

Java(TM) SE 运行时环境(版本 1.8.0_25-b17)

Java HotSpot(TM) 64 位服务器 VM(内部版本 25.25-b02,混合模式)

已安装依赖项:java-p7zip-binding 和 p7zip

我已经安装了 filebot 来在我的系统上维护媒体库,但是,每当我执行该程序时,都会收到以下错误:

SevenZipNativeInitializationException: Failed to load 7z-JBinding: no 7-Zip-JBinding in java.library.path

如上所述,我确实安装了所需的依赖项。

当我使用时

java -XshowSettings:properties

我通过我的库路径得到此输出

Property settings:
awt.toolkit = sun.awt.X11.XToolkit
file.encoding = UTF-8
file.encoding.pkg = sun.io
file.separator = /
java.awt.graphicsenv = sun.awt.X11GraphicsEnvironment
java.awt.printerjob = sun.print.PSPrinterJob
java.class.path = .
java.class.version = 52.0
java.endorsed.dirs = /usr/lib/jvm/java-8-jdk/jre/lib/endorsed
java.ext.dirs = /usr/lib/jvm/java-8-jdk/jre/lib/ext
    /usr/java/packages/lib/ext
java.home = /usr/lib/jvm/java-8-jdk/jre
java.io.tmpdir = /tmp
java.library.path = /usr/java/packages/lib/amd64
    /usr/lib64
    /lib64
    /lib
    /usr/lib
java.runtime.name = Java(TM) SE Runtime Environment
java.runtime.version = 1.8.0_25-b17
java.specification.name = Java Platform API Specification
java.specification.vendor = Oracle Corporation
java.specification.version = 1.8
java.vendor = Oracle Corporation
java.vendor.url = http://java.oracle.com/
java.vendor.url.bug = http://bugreport.sun.com/bugreport/
java.version = 1.8.0_25
java.vm.info = mixed mode
java.vm.name = Java HotSpot(TM) 64-Bit Server VM
java.vm.specification.name = Java Virtual Machine Specification
java.vm.specification.vendor = Oracle Corporation
java.vm.specification.version = 1.8
java.vm.vendor = Oracle Corporation
java.vm.version = 25.25-b02
line.separator = \n 
os.arch = amd64
os.name = Linux
os.version = 3.14.21-1-MANJARO                                                                                             
path.separator = :                                                                                                         
sun.arch.data.model = 64                                                                                                   
sun.boot.class.path = /usr/lib/jvm/java-8-jdk/jre/lib/resources.jar
    /usr/lib/jvm/java-8-jdk/jre/lib/rt.jar
    /usr/lib/jvm/java-8-jdk/jre/lib/sunrsasign.jar
    /usr/lib/jvm/java-8-jdk/jre/lib/jsse.jar
    /usr/lib/jvm/java-8-jdk/jre/lib/jce.jar
    /usr/lib/jvm/java-8-jdk/jre/lib/charsets.jar
    /usr/lib/jvm/java-8-jdk/jre/lib/jfr.jar
    /usr/lib/jvm/java-8-jdk/jre/classes
sun.boot.library.path = /usr/lib/jvm/java-8-jdk/jre/lib/amd64
sun.cpu.endian = little
sun.cpu.isalist = 
sun.io.unicode.encoding = UnicodeLittle
sun.java.launcher = SUN_STANDARD
sun.jnu.encoding = UTF-8
sun.management.compiler = HotSpot 64-Bit Tiered Compilers
sun.os.patch.level = unknown
user.country = US
user.dir = /usr/lib/amd64
user.home = /home/name
user.language = en
user.name = name
user.timezone =

我已将 java-p7zip-binding 包附带的 lib7-Zip-JBinding.so 添加到所有 java.library.path 目录中,试图让它工作,但不幸的是它没有。

关于为什么我收到加载失败错误的任何想法?

最佳答案

LD_LIBRARY_PATH

!=

java.library.path

事实证明我需要完成的路径是

LD_LIBRARY_PATH

我的版本恰好是

/usr/lib/jvm/java-8-openjdk/jre/lib/amd64

我怀疑这也能解决 java 7 的这个问题,只需使用适当的目录即可。只需将 .so 文件复制并粘贴到该目录即可立即成功。

关于java - 无法加载 7z-JBinding : no 7-Zip-JBinding in java. 库.path,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26895163/

相关文章:

java - 将图像与 Android 中的单选按钮相关联

python - 将内存中的数据写入加密的 ZIP 或 7Z(不使用磁盘临时文件)

7zip 命令行 - 来自源文件名的压缩文件名

arm - 使用来自目标 ARM 板的 rootfs 的内核头文件交叉编译内核模块

java - 通过 zuul 访问时,Spring session 作用域 bean 在请求之间重置

java - 在 onCStoreRQ 关联请求上读取 PDVInputStream dicomObject 信息

java - Kotlin 图像的 Y 轴旋转

android - 以比在 Android 中使用 java.util.zip 更快的方式解压缩文件

python - 从文件创建对象 Python 3

戈兰 : panic before malloc heap initialized