首先,实现调用jar包,动态的加载动态库(也就是调用时只提供jar包即可运行)。
下面代码中是调用动态库的方法,可以写在新建的类中。这里我新建了LoadDLL类,类中写了loadDll加载动态库的函数,可见传参为libName:动态库名(不带后缀),className:传入动态库时的类名。
这里面最关键的是getResourceAsStream函数(可以去搜索一下这个函数,理解意思)。
以下代码不需要改动,通过传参来控制函数。
import com.sun.jna.Native;
import java.io.*;
public class LoadDll
{
public synchronized static Object loadDll(String libName, Class<?> className) {
String systemType = System.getProperty("os.name");
// String libExtension = (systemType.toLowerCase().indexOf("win") != -1) ? ".dll" : ".so";
String libExtension = (systemType.toLowerCase().contains("win")) ? ".dll"