導航:首頁 > 編程語言 > 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動態鏈接庫相關的資料

熱點內容
pop3伺服器怎麼裝 瀏覽:138
cpp編譯解決命名沖突問題 瀏覽:507
單片機的晶振頻率 瀏覽:481
翻樣軟體加密鎖問題 瀏覽:204
電腦怎麼設置dhcp伺服器地址 瀏覽:591
十天突破雅思寫作劍8pdf 瀏覽:354
如何判定伺服器硬碟燒了 瀏覽:243
數值逼近pdf 瀏覽:706
程序員跪鍵盤 瀏覽:3
江蘇銀行app換設備電話按哪個鍵 瀏覽:235
圖片無損壓縮怎麼辦 瀏覽:6
如何確認伺服器的光口網卡 瀏覽:243
nb1111y壓縮機性能數據 瀏覽:549
下一代編譯器 瀏覽:131
用什麼app可以查產品批號 瀏覽:436
python自動補齊 瀏覽:904
蘋果wifi安卓怎麼連接不上 瀏覽:934
為什麼有的app只能用蘋果支付 瀏覽:175
手游雲頂文件夾 瀏覽:939
msvc和mingw都是編譯器嗎 瀏覽:428