# jni-util **Repository Path**: theten52/jni-util ## Basic Information - **Project Name**: jni-util - **Description**: Java 加载本地方法库(native library)的工具类(JNI)。解决多个测试类同时执行时【Native Library xxx already loaded in another classloader】出错的情况。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2021-06-03 - **Last Updated**: 2024-02-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ```text 一:编译cpp文件,生成平台相关的本地方法库文件 1.命令行进入当前文件夹下的library文件夹下。 2.执行编译命令: 【g++ NativeDemo2.cpp -o NativeDemo2 -fPIC -shared -I/usr/lib/jvm/java-11-openjdk-amd64/include/ -I/usr/lib/jvm/java-11-openjdk-amd64/include/linux/】 二:使用生成的NativeDemo文件替换src/main/resources文件夹下的同名文件 1.System.getProperty&&single unit test ->fail 2.System.getProperty&&multi unit test ->fail 3.System.getProperty&&maven package test->fail 1.sys_paths &&single unit test ->success 2.sys_paths &&multi unit test ->success 3.sys_paths &&maven package test->success 1.usr_paths &&single unit test ->success 2.usr_paths &&multi unit test ->success 3.usr_paths &&maven package test->success 注: 1.如何生成java文件对应的.h文件。 在target/classes 目录下使用命令【javah -jni com.theten52.demo.load.library.NativeDemo】。 注意路径分隔不要用【/】而是用【.】。 ```