1. 依赖引入不完整

原因分析
sevenzipjbinding 需要同时包含 Java类库(JAR) 和 本地库(Native Library,如.so.dll等)。如果项目中仅引入了 JAR 文件,但未正确配置本地库,会导致 ClassNotFoundException 或 UnsatisfiedLinkError

解决方案

  • 检查依赖完整性
    确保 sevenzipjbinding 的依赖包含 平台特定的本地库。例如,Maven 依赖需指定包含本地库的包:

  • <dependency>
        <groupId>net.sf.sevenzipjbinding</groupId>
        <artifactId>sevenzipjbinding</artifactId>
        <version>16.02-2.01</version>
    </dependency>
    <dependency>
        <groupId>net.sf.sevenzipjbinding</groupId>
        <artifactId>sevenzipjbinding-linux-amd64</artifactId> <!-- 根据系统选择 -->
        <version>16.02-2.01</version>
    </dependency>
  • 如果没有对应平台的依赖,需手动下载并配置本地库路径。

  • 手动配置本地库路径
    将本地库文件(如 lib7-Zip-JBinding.so)放置在以下位置之一:

    • JVM 的默认库路径(如 /usr/lib)。

    • 通过启动参数指定路径:

  • java -Djava.library.path=/path/to/native/libs -jar your-app.jar

    我现场是这样做的:

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐