日本免费精品_最新日韩一区_亚洲视频一区在线_a在线视频观看_天天射夜夜骑_粉嫩av一区二区三区_欧美中日韩免费视频_综合图区欧美_国内精品美女在线观看_午夜精品久久久久久久男人的天堂

首頁 > 編程 > Java > 正文

解析Java和Eclipse中加載本地庫(.dll文件)的詳細說明

2019-11-26 16:05:47
字體:
來源:轉載
供稿:網友
最近在做的工作要用到本地方法,需要在Java中加載不少動態鏈接庫(以下為方便延用Windows平臺下的簡寫dll,但并不局限于Windows)。剛剛把程序跑通,趕緊把一些心得寫出來,mark。也希望對大家的類似工作有所幫助
首先,應當明確,dll有兩類:(1)Java所依賴的dll和,(2)dll所依賴的dll。正是由于第(2)種dll的存在,才導致了java中加載dll的復雜性大大增加,許多說法都是這樣的,但我實驗的結果卻表明似乎沒有那么復雜,后面會予以詳細闡述。
其次,Java中加載dll的方式也有兩種:(1)通過調用System.loadLibrary(String filename)和,(2)通過調用System.load(String filename)方法。其底層都是通過使用ClassLoader中的loadLibrary(Class fromClass, String name, boolean isAbsolute)方法來實現的,區別僅在于(1)中的filename必須是絕對路徑,(2)中的filename只能是dll名,不允許包含文件夾。
再者,Eclipse是一個相當強大的平臺,其提供的BundleClassLoader的強大是一個很重要的原因,對于dll的加載也有自己一套很別致的做法,值得我們采納。
根據上面的介紹,分兩部分闡述Java中加載dll面臨的主要問題和解決途徑。
1. 在一般Java程序中加載dll
我所做的工作,需要加載的dll如下:
DigitDll.dll 
DsivsAcct.dll
DsivsComm.dll
DsivsTrans.dll
JBPack.dll
XCodeDll.dll
ImageDllCtrl.dll
yhfiche.dll
yhocr.dll
yhbill.dll
TSealSvrDll.dll
TImg.dll
TImage.dll   
直接調用的是TImage中的若干方法,列表中TImage之前的所有其直接或間接依賴的,不僅要把所有的dll load全,更要注意他們之間的依賴關系,被依賴dll一定要先加載,否則就會報錯:UnsatisfiedLinkError。故而,首先應理清dll 之間的依賴關系,上面的列表已經是處理過的了。

接下來是設置JVM的搜索路徑,使其能夠找到你的dll。JVM的搜索路徑由java.library.path系統屬性決定,其默認值為系統環境變量中的PATH 內容。因此,可以通過修改PATH變量來達到設置java.library.path屬性的目的(改變之后Eclipse需要重新啟動),一般的方法是在 PATH中加入dll所在文件夾的絕對路徑。另一種方法是在Java命令的參數中加入“-Djava.library.path=dll所在文件夾的絕對路徑”來設置(可以用;分開多個路徑)。對于Eclipse開發環境上的應用程序,可以通過修改其啟動參數,在VM arguments編輯框中加入前述參數。對于打包出來的Eclipse安裝包,可編輯其啟動目錄下的application.ini(假設其啟動文件為 application.exe),在-vmargs后加入前述參數來設置java.library.path的值。需要注意的是,一旦JVM已經啟動,則無法再修改java.library.path的內容了,也就是說,通過:
System.setProperty("java.library.path", "c:/mylib");
這樣的方式是無法達到目的的,因為該屬性是只讀的。Sun公司的論壇上曾經討論過如何在代碼中修改java.library.path的問題,結論是:不能通過代碼修改!如果嫌"java -Djava.library.path=c:/mylib"這樣的方式寫得太死,也只能是通過shell編程之類的方法對路徑進行預處理,以改善其靈活性了。
如果你的dll是封裝在jar包中的,則需要首先將之解壓縮到一個臨時路徑上,然后再將該路徑加入到Djava.library.path中,或者干脆將其解壓縮到系統路徑上。
2. 在Eclipse平臺上加載dll
上面提到,Java中對本地庫路徑的設置方式做得太死,這也是我自己的切身體會,但令人感到欣慰的是我們的Eclipse平臺的提供了一套比較靈活的做法,通過eclipse提供的BundleClassLoader,你可以將dll封在plugin中,既不需要在使用時解壓縮,也不需要額外設置 java.library.path屬性,BundleClassLoader會自行到以相對plugin根目錄的指定目錄下去查找你的dll,這些目錄是:ws/win32/, os/win32/x86/, os/win32/, nl/zh/CN/, nl/zh/,見org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader和 org.eclipse.core.runtime.internal.adaptor.EclipseClassLoadingHook。
我的目錄設置是:
.classpath
.cvsignore
.project
build.properties
classes
CVS
lib
META-INF
os
plugin.xml
src
我把所有的dll都放到了os下面的win32目錄內,同樣可以建立ws/win32等目錄用于放置本地庫。如此處理之后,不用再修改任何系統變量就可以順利加載本地庫了。
另外,Eclipse還在MANIFEST文件中提供了Bundle-NativeCode的設置項,也是用于加載本地庫的,有待進一步研究
本文匆匆而就,希望對自己對大家都能有所幫助
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
欧美日韩国产综合视频在线观看| 91精品国产高清久久久久久| 欧美久久久精品| 在线一区二区不卡| 91精品婷婷国产综合久久| 日本黄色一区二区三区| 日韩在线不卡| 欧美一级手机免费观看片| 亚洲欧洲日韩在线| 日韩欧美国产综合| 亚洲视频电影在线| 最近高清中文在线字幕在线观看| 国产区日韩欧美| 日韩一级二级三级精品视频| 欧美三级精品| 国产在线观看a| 日韩午夜中文字幕| 亚洲一区资源| 在线看av的网址| 免费国产成人看片在线| 日韩国产在线观看一区| 国产一卡2卡3卡四卡网站| 午夜av一区二区| 一本一道综合狠狠老| 国产欧美日韩在线观看| 日韩欧美在线1卡| 国产福利一区二区| 91精品视频国产| 国产三级视频在线| 1区2区3区在线视频| 国产一区成人| 91蜜桃婷婷狠狠久久综合9色| 中文字幕欧美日韩在线| 久久久久久99精品| 久久99久久99精品中文字幕| 精品视频在线视频| 国产激情在线| 午夜av一区二区| 国产视频中文字幕| 日韩午夜中文字幕| 日韩亚洲欧美中文字幕| 欧美三级一区二区三区| 亚洲免费专区| 国产在线拍偷自揄拍精品| 欧美日韩国产999| 日韩视频在线观看一区| 91欧美在线视频| 1区2区在线| 日韩中文在线字幕| 国产综合成人久久大片91| 欧洲精品久久久| 日韩欧美在线1卡| 久草中文在线观看| 欧美日韩国产区| 亚洲最大黄色| 影音先锋一区二区资源站| 日韩欧美中文在线| 国产欧美日韩亚州综合| 国产亚洲污的网站| 精品人妻一区二区免费视频| 一区二区三区高清在线| 国产资源在线观看| 欧美中文字幕视频在线观看| 久久riav| 日韩av不卡在线观看| 91久久精品国产91久久| 国产欧美日韩久久| 国产激情久久| 成人精品视频一区| 欧美日韩精品国产| 五月天久久比比资源色| 欧美日韩精品三区| 亚洲高清视频一区| 欧美一级日韩不卡播放免费| 日韩不卡av| 欧美日韩精品免费看| 国产丝袜在线播放| 日韩高清不卡在线| 日韩精品资源二区在线| 国产欧美自拍一区| 日韩中文字幕视频网| 亚洲久草视频| 久久精品日韩欧美| 欧美日韩精品三区| www.狠狠干| 国产乱码午夜在线视频| 一区二区在线视频播放| 欧美日韩成人一区二区| 亚洲三级国产| 精品人妻一区二区三区视频| 日本xxxwww免费视频| 91日韩中文字幕| 最新中文字幕在线播放| 白嫩少妇丰满一区二区| 日韩 欧美 亚洲| 免费看日韩精品| 欧美成人精品在线| av一级在线| 日韩一级免费在线观看| 在线观看91精品国产入口| 久草视频在线看| 国产在线欧美| 一区二区精品| 精品乱子伦一区二区| 国产成人精品免费在线| 精品人妻一区二区三区视频| 中文字幕日韩免费视频| 国产欧美综合在线观看第十页| 91精品国产色综合久久不卡蜜臀| www中文字幕在线观看| 国产农村妇女精品一二区| 精品1区2区3区| 国产欧美久久久久久久久| 亚洲一区导航| 在线亚洲免费| 亚洲免费在线视频一区 二区| 欧美日韩性视频| 日韩在线精品视频| 国产福利三区| 国产成人精品三级| 国产三级在线观看视频| 日韩精品视频在线播放| 午夜一区二区三区免费| 欧美日韩精品在线| 久久99精品久久久久久青青日本| 欧美不卡123| 欧美日韩尤物久久| 国产第一页在线播放| 日韩精品免费视频一区二区三区| 人人做人人澡人人爽欧美| 日韩免费电影网站| 青青久在线视频免费观看| 精品欧美久久久| av中文天堂在线| 欧美婷婷精品激情| 日韩欧美一卡二卡| 国产丝袜欧美中文另类| 中文字幕狠狠干| 久久久另类综合| 欧美日韩高清| 日韩国产欧美三级| 国产在线视频一区二区| 久久精品免费在线观看| 日韩色在线观看| 国产亚洲视频中文字幕视频| 日韩精品一级| 日韩精品 欧美| 91精品国产综合久久久久久| 亚洲成av人片| 91精品国产入口| 欧美日韩成人一区二区| 中文国产字幕在线观看| 久久精品夜夜夜夜久久| 久久精品人妻一区二区三区| 婷婷久久综合网| 欧美日韩激情一区二区三区| 91精品综合久久| 精品亚洲综合| 日韩欧美999| 91精品国产综合久久蜜臀| 国产视频二区| 国产免费播放一区二区| 中文字幕在线精品| 欧美日韩中文字幕| 丰满少妇一区二区| 日韩精品手机在线| 精品播放一区二区| av中文资源在线| 国产欧美在线观看| av中文在线播放| 91精品日本| 中文字幕在线中文字幕二区| 欧美综合精品| 亚洲精品中文字幕乱码三区| 在线精品观看| 一区免费视频| 日韩精品―中文字幕| 欧美日韩在线视频免费观看| 婷婷久久综合九色国产成人| 视频一区二区国产| 二区三区不卡不卡视频| 久久99久久久久| 亚洲欧美日本另类| 中文在线一区| 精品一二三四| 欧美 日韩 国产 在线观看| 精品久久久久久综合日本欧美| 日韩在线高清视频| 91欧美日韩麻豆精品| 一区二区三区鲁丝不卡| 日韩欧美在线视频日韩欧美在线视频| 国产欧美自拍一区| 日韩欧美中文字幕一区| 久久 天天综合| 日本不卡高清视频一区| 国产黄在线看| 免费在线视频一区二区| 在线资源av| 精品视频久久| 精品日韩在线观看| 日韩欧美亚洲日产国| 中文字幕一区二区三区精品| 亚洲男女av一区二区| 色猫猫国产区一区二在线视频| 日韩中文在线字幕| 欧美日韩高清| 欧美日韩亚洲天堂| 91精品国产91久久久久| 中文字幕在线观看精品| 日韩一级网站| 国产一级免费在线观看| 中文字幕日韩欧美| 欧美日韩国产中字| 日韩精品一区二区三区视频播放| 91精品在线观看入口| 国产高清大尺度一区二区不卡| 亚洲一区在线观看网站| 国产乱码在线| www.日韩免费| 亚洲黄色www| 刘玥91精选国产在线观看| 免费精品国产自产拍在| 日韩精品国产欧美| 91精品999| 欧美一级日韩不卡播放免费| 中文字幕视频在线免费欧美日韩综合在线看 | 国产天堂素人系列在线视频| 日韩精品在线第一页| 亚洲一二三不卡| 国产在线导航| 91精品国产综合久久福利| 午夜伊人狠狠久久| 在线国产1区| 亚洲大片精品永久免费| 日韩中文字幕视频在线| 日韩中文字幕视频在线观看| 伊人国产视频| 亚洲欧美日本另类| 亚洲精华国产欧美| 国产在线一区二区视频| 亚洲高清视频在线| 国产欧美日韩中文字幕在线| 亚洲欧美中文字幕在线一区| 国产午夜精品久久| 91精品在线观看国产| 91精品国产综合久久久久久| 国产午夜精品久久| 一区二区三区中文字幕在线观看| 欧美日韩在线播放一区| 精品三级久久| 欧美日韩高清一区二区| www.eeuss影院| 日韩 欧美 亚洲| 亚洲人线精品午夜| 日韩欧美亚洲国产一区| 精品在线网站观看| 亚洲一区在线观看免费| 欧美日韩精品在线| 国产欧美综合视频| 精品欧美日韩| 亚亚洲欧洲精品| 欧美日韩精品欧美日韩精品| 亚洲中午字幕| 热久久精品国产| 日韩亚洲欧美中文高清在线| 黄色国产网站在线观看| 在线观看免费国产小视频| 黄色精品在线观看| 亚洲福利一区二区三区| 人妻一区二区三区免费| 自拍日韩亚洲一区在线| 中文字幕国产视频| 国产欧美日韩精品高清二区综合区| 亚洲成av人片在线| 欧美日韩精品久久久| 中文字幕在线视频久| 在线一区二区不卡| 国产三级在线观看视频| 久久久久久99精品| 国产免费久久| 中文字幕第一页在线| 日韩中文在线视频| 中文字幕精品国产| 最近高清中文在线字幕在线观看| 在线不卡一区二区| 国产乱码午夜在线视频| 狠狠色综合色区| 日韩一级二级三级| 精品视频123区在线观看| 亚洲电影中文字幕在线观看| 日韩欧美国产高清| 91欧美日韩在线| 日韩国产在线观看一区| 国产福利在线播放| 黄色国产在线| 国产高清大尺度一区二区不卡| 亚洲一区日韩精品中文字幕| 中文字幕国产日韩| 中文字幕视频在线免费欧美日韩综合在线看| 日韩中文字幕综合| 欧美日韩国产一二三| 亚洲.国产.中文慕字在线| 中文字幕视频在线免费欧美日韩综合在线看| 亚洲免费婷婷| 欧美三级精品| 日韩欧美一级精品久久| 日韩欧美在线视频| 成人精品国产福利| 欧美一级日韩一级| 中文字幕在线欧美| 国产中文伊人| 亚洲高清免费一级二级三级| 午夜精品一区二区三区免费视频| 国产美女主播视频一区| 久久欧美中文字幕| 午夜伦欧美伦电影理论片| 91精品无人成人www| 在线视频一区二区三区在线播放| 亚洲第一视频| 日韩在线小视频| 中文字幕在线观看精品| 久久精品不卡| 欧美激情一区二区三区在线| 精品国产91乱高清在线观看| 久本草在线中文字幕亚洲欧美| 伊人永久在线| 久久久精品日韩欧美| 免费看ww视频网站入口| 久本草在线中文字幕亚洲欧美| 日韩欧美国产1| 欧美日韩在线第一页| 精品欧美久久久| 国产www.大片在线| 日韩一级二级三级| 日韩在线视频一区二区三区| 欧美久久在线观看| 亚洲欧美中文字幕在线观看| 欧美日韩精品三区| 欧美日韩国产免费观看| 91精品视频在线| 在线日韩精品视频| 日韩欧美不卡| 在线视频日韩欧美| 亚洲综合日韩中文字幕v在线| 亚洲免费精品| 久久精品网站免费观看| 欧美日韩精品中文字幕| 日韩在线二区| 日韩免费不卡avV| 日韩精品视频在线播放| 不卡中文一二三区| 日韩高清在线一区二区| 91精品国产日韩91久久久久久| 日韩欧美在线中文字幕| 91精品高清| 国产高清大尺度一区二区不卡| 欧美国产亚洲一区| 日韩中文字幕在线播放| 欧美日韩精品高清| 中文字幕视频在线免费欧美日韩综合在线看 | 一区二区视频在线| 久久精品国产99| 精品播放一区二区| 日韩在线视频一区二区三区| 99亚洲视频| 日韩免费电影网站| 一级特黄大欧美久久久| 国产一区久久久| 亚洲素人一区二区| 91精品国产免费| 日韩久久精品视频| 国产欧美三级| 午夜精品一区二区三区免费视频| 日韩亚洲欧美中文高清在线| 亚洲乱码中文字幕| 日韩在线精品视频| 天天在线视频色| 国产欧美一级| 国产欧美日韩中文| av首页在线| 亚洲乱码中文字幕综合| 国产欧美日韩精品在线观看| 国产日韩在线视频| 国产视频中文字幕| 中文字幕欧美日韩va免费视频| 欧美一级欧美三级在线观看| 最近中文字幕第一页| 欧美国产三级| 国产性一级片| 免费视频最近日韩| 99视频在线看| 日韩精品在线免费观看视频| www.久久草| 国产1卡2卡三卡四卡网站| 美女在线视频一区| xxxcom在线观看| 日韩av一区在线| av免费网站在线| 国产福利一区在线观看| 天堂在线一区二区三区|