導航:首頁 > 編程語言 > java動態鏈接庫

java動態鏈接庫

發布時間:2023-03-11 16:53:29

A. java 調用動態鏈接庫(jni方式調用dll文件)

jni 是由Java調用C/C++的動態鏈接庫 (DLL)。
所以把.class-->.h-->dll ,想法是不正確的,
同時也違背了Jni的初衷。
Dll是由C/C++生成的。

以前的一個項目用到了Java調用C/C++的DLL,所以對這個還算熟悉。
那個dLL是由C++程序員寫的,在Microsoft Visual C++ 6.0編輯器中可以生成。然後由Java程序員用JNI來調用DLL裡面實現的功能(方法)。

B. 如何為Android,Mac和Windows平台創建Java JNI動態鏈接庫

Android1、下載NDK,並在Eclipse中配置路徑:
2、創建一個Android工程hellojni。右鍵工程,選擇Add Native Support自動生成C/C++工程:
3、修改C/C++代碼,配置一下Android.mk:
4、點擊保存就會自動生成動態鏈接庫libhellojni.so。也可以通過命令ndk-build手動生成。

Windows

1、打開Visual Studio,創建一個Win32工程hellojni:
2、在應用類型中選擇DLL:
3、配置頭文件和庫的路徑:
4、點擊build就可以生成hellojni.dll。

Mac OS X

1、打開Xcode,創建一個工程hellojni :
2、framework選擇STL:
3、在build設置里,配置JavaVM 頭文件路徑和庫路徑:
4、點擊build就可以生成libhellojni.dylib。

Java工程中如何使用JNI:

1、申明native介面:
public native String stringFromJNI();
public native static void nativePrint();

2、載入動態鏈接庫:
static {
System.loadLibrary("hellojni");
}

C. eclipse中的java工程項目如何引用外部jar包和dll動態鏈接庫

1、引用jar包
絕對路徑引用:右鍵工程-->properties-->Java Build Path-->Libraries-->Add external JARs... ,在彈出的對話框中選擇要引入的jar包,OK即可。
相對路徑引用:首先在工程目錄下,新建一個libs文件夾,將要導入的jar包放入其中,然後右鍵工程-->properties-->Java Build Path-->Libraries-->Add JARs... ,在彈出的對話框中選擇libs文件夾下的jar包即可。
2、引用dll動態鏈接庫
絕對路徑引用:右鍵工程-->properties-->java Build Path-->Source,點開工程,選擇Native libraries location....,點擊右側的edit..-->external Folder...,選擇要引入的dll文件所在文件夾即可。

相對路徑引用:首先在工程目錄下,新建一個libs文件夾,將要導入的dll文件包放入其中,右鍵工程-->properties-->java Build Path-->Source,點開工程,選擇Native libraries location....,點擊右側的edit..-->Workspace..,選擇libs文件夾即可。

D. java動態鏈接庫連接失敗 jvm.dll載入失敗

項目中用到 Jpcap 庫,這個庫引用到一個 C 的鏈接庫文件

鏈接庫文件放到 /usr/lib 下面

以前在別的Linux系統下都運行的好好的

今天部署到一個 Centos 機器上就報錯:java.lang.NoClassDefFoundError: Could not initialize class jpcap.JpcapCaptor 和 java.lang.unsatisfiedlinkerror

看了下 JpcapCaptor 類的源碼發現裡面有載入動態鏈接庫的代碼

肯定就是沒找到 動態鏈接庫文件了。

1.重新編譯庫文件 2.把庫文件放到項目根目錄,等等幾番折騰

最後都要絕望的時候了,突然想起 /etc/ld.so.conf

vi 一看還真沒有庫目錄

加上兩行
/usr/lib
/usr/local/lib

保存 執行 ldconfig命令 生效

問題就這樣解決了。

閱讀全文

與java動態鏈接庫相關的資料

熱點內容
資料庫查詢系統源碼 瀏覽:611
php5314 瀏覽:350
完美國際安裝到哪個文件夾 瀏覽:663
什麼app可以掃一掃做題 瀏覽:534
程序員編碼論壇 瀏覽:918
淘點是什麼app 瀏覽:654
中國高等植物pdf 瀏覽:447
51單片機時間 瀏覽:176
後台如何獲取伺服器ip 瀏覽:260
單片機流水燈程序c語言 瀏覽:227
程序員第二職業掙錢 瀏覽:234
運行里怎麼輸入伺服器路徑 瀏覽:833
pythonstepwise 瀏覽:502
劉一男詞彙速記指南pdf 瀏覽:56
php認證級別 瀏覽:361
方舟編譯啥時候推送 瀏覽:1003
php手機驗證碼生成 瀏覽:668
哲學思維pdf 瀏覽:9
凌達壓縮機有限公司招聘 瀏覽:527
weblogic命令部署 瀏覽:30