zoukankan      html  css  js  c++  java
  • JNative用法注意事项

     

    公司要做个跟设备打交道的web系统,需要java调用dll。搞java的同事说JNative看起来挺好使的,找俺帮忙调通。用的是1.3.1版本

    1. 环境设置。

      JNative的调试信息需要打开才能更清楚些,要不总是说没加载库,跟没说一样。

      System.setProperty("jnative.debug", "true");

      如果调试信息里有System.LoadLibrary(),说明没有加载JNativeCpp.dll,指定全路径即可,双斜杠哦。

      System.setProperty("jnative.loadNative", "D:\Test\JNativeCpp.dll");

    2. lib库路径问题
      • windows

        在windows下需要把调用的dll路径设置到环境变量PATH中,除非你不介意拷到win32中,dll依赖的库也得在PATH或win32中。

      • linux

         linux下同样需要设置环境变量,编辑bashrc,添加 export LD_LIBRARY=so路径,依赖的库也得在PATH中,除非都放在/usr/lib/下

    3. lib库名称问题

      无论linux还是windows在JNative的构造函数中的lib库名字为库全名,包括扩展名dll、so,而且so需要包括前面的‘lib’,貌似与网上说的不太一样。

    4. 资源释放问题

      有些设备需要先初始化在操作,最后释放,所有功能都分散在不同函数中,JNative需要有个静态的实例,每次创建调用函数时lib库依旧是加载的。

    顺便吐槽下公司部署前2天才通知说在linux下部署,可怜我这linux、java双小白。。。。。。

  • 相关阅读:
    人工智能深度学习:TensorFlow2.0如何保持和读取模型?
    人工智能深度学习:TensorFlow2.0实现回归问题
    InnoDB存储引擎中的锁
    Spring源码系列8
    Spring源码系列7
    Spring源码系列6
    Spring源码系列5
    Spring源码系列4
    Spring源码系列3
    Spring源码系列2
  • 原文地址:https://www.cnblogs.com/u0mo5/p/4049646.html
Copyright © 2011-2022 走看看