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());
    	}
      }
    

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

  • 相关阅读:
    任务26:dotnet watch run 和attach到进程调试
    我心中的ASP.NET Core 新核心对象WebHost(二)
    任务25:IHostEnvironment和 IApplicationLifetime介绍
    跨域之jsonp
    H5之拖拽
    h5学习之表单
    canvas之五角星的绘制
    canvas学习之初级运用
    js中常见继承方式
    this指针的使用场景
  • 原文地址:https://www.cnblogs.com/chaoren399/p/6232467.html
Copyright © 2011-2022 走看看