zoukankan      html  css  js  c++  java
  • 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());
    	}
      }
    

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

  • 相关阅读:
    Ajax调用处理页面错误信息500的解决思路
    PHP数据库的增删改
    PHP登录及处理
    PHP数据访问
    PHP数组(正则表达式、数组、预定义数组)
    php函数
    45
    数据库_CRUD操作之读取数据之高级读取
    数据库_CRUD操作之读取数据
    数据库_CRUD操作之修改数据
  • 原文地址:https://www.cnblogs.com/chaoren399/p/6232467.html
Copyright © 2011-2022 走看看