Java调用本地方法总结

1、查看属性java.library.path的方法:

    public class JavaPath {

        public static void main(String[] agrs) {

            System.out.println(System.getProperty("java.library.path"));

        }

    }

2、设置属性java.library.path的方法:

通过JVM参数指定 java -Djava.library.path=/usr/lib64

通过编程解决:

System.setProperty( "java.library.path", "/usr/lib64" );

linux环境通过添加系统变量LD_LIBRARY_PATH来添加Java.library.path

windows环境在系统->高级系统设置->环境变量里,在path变量里添加

3、把依赖的本地库(kmc.dll或者libkmc.so)放到环境中java.library.path对应的目录下;

4、java代码实现加载类库的方法如下:

linux环境:

static{
    System.loadLibrary("kmc"); //注意:对应的库文件为libkmc.so
}

windows环境:

static{
    System.loadLibrary("kmc"); //注意:对应的库文件为kmc.dll
}

5、本地方法调用示例:

public class Kmc {
    static{
        System.loadLibrary("kmc");
    }

    public native getPrivateKey(byte[] key) throws e;
}

public class testKmc {
    Kmc kmc;
    
    public byte[] getPrivateKey() {
        byte[] key = new byte[100];
        kmc.getPrivateKey(key );
        return key;
    }
}