JNA

在java中可以使用jna 加载dll,或者so文件

 

例如

    public IEC61850Worker() {
        try {
            String libpath = DEFAULT_EMPTY;
            if (OsInfoUtil.isLinux()) {
                libpath = BundleHelper.getClassDir();
                libpath += "libiec61850.so";
            } else {
                libpath = OsInfoUtil.getUserDir();
                String jdkbit = OsInfoUtil.getJdkBit();
                libpath += OsInfoUtil.getFileSeparator() + "lib";
                libpath += OsInfoUtil.getFileSeparator() + "libiec61850_"+jdkbit+".dll";
            }
            Logger.info("IEC61850Worker.init.libpath:"+libpath);
            libIec61850 = (LibIec61850)Native.loadLibrary(libpath, LibIec61850.class);
        } catch (Exception e) {
            e.printStackTrace();
            Logger.error("IEC61850Worker.init.error:"+e.getMessage());
        }
    }

 

在项目中的文件目录

 

 

 

需要在pom文件中引用

    <dependency>
        <groupId>com.sun.jna</groupId>
        <artifactId>jna</artifactId>
        <version>3.0.9</version>
    </dependency>

 

posted @ 2019-12-30 09:43  杨斌_济南  阅读(357)  评论(0编辑  收藏  举报