• 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.
    " + 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.
    " + e);
          System.exit(1);
        }
      }
    	
      public static void main(String argv[])
      	{
        CkZip zip = new CkZip();
        System.out.println(zip.version());
    	}
      }
    

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

  • 相关阅读:
    基于BIM与点云数据的塔吊仿真系统记录
    ModuleNotFoundError: No module named 'imgaug'
    ifc地形数据测试
    Command 'protoc' not found, but can be installed with
    运行错误
    java遍历目录下的目录和文件
    给输出框编号
    pytorch yolov5两块gpu训练日志
    matlab atan2
    执行的命令
  • 原文地址:https://www.cnblogs.com/chaoren399/p/6232467.html
Copyright © 2020-2023  润新知