mac os 如何加载 Java Native/Shared Library (.jnilib)

1 . 问题描述

今天在开发 Java 解压.z 文件的时候 需要加载 .jnilib 文件. 总是提示
Native code library failed to load.
java.lang.UnsatisfiedLinkError: no chilkat in java.library.path

2.解决问题

有多种解决方案,这里列出2种

2.1 第一种是 System.load

import com.chilkatsoft.CkZip;

public class Test {
    
  static {
    try {
        System.load("/Users/joe/chilkatJava/libchilkat.jnilib");
    } catch (UnsatisfiedLinkError e) {
      System.err.println("Native code library failed to load.\n" + e);
      System.exit(1);
    }
  }

  public static void main(String argv[]) 
  {
    CkZip zip = new CkZip();
    System.out.println(zip.version());    
  }
}

2.2 第二种是 复制 .jnilib文件到 java.library.path 内,调用 System.loadLibrary

首先检查  java.library.path
String property = System.getProperty("java.library.path");
StringTokenizer parser = new StringTokenizer(property, ";");
while (parser.hasMoreTokens()) {
    System.err.println(parser.nextToken());
    }
然后调用System.loadLibrary
import com.chilkatsoft.CkZip;

public class Test {
    
  static {
    try {
        
        System.loadLibrary("chilkat");
        
    } catch (UnsatisfiedLinkError e) {
      System.err.println("Native code library failed to load.\n" + e);
      System.exit(1);
    }
  }
    
  public static void main(String argv[])
    {
    CkZip zip = new CkZip();
    System.out.println(zip.version());
    }
  }

(结束) 我使用第一种解决的问题, 更多方法请参考 : 农民阿姨

转载于:https://www.cnblogs.com/chaoren399/p/6232467.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值