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雙小白。。。。。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM