日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

解決Java 部署Tomcat時(shí)使用jni和jna調(diào)用DLL文件的問題

瀏覽:11日期:2022-08-20 14:42:48

我的前一篇博客提到,我們公司項(xiàng)目的restful框架中要用到底層的DLL C++庫,最后經(jīng)過測(cè)試驗(yàn)證結(jié)果選擇采用JNA方法來調(diào)DLL庫。

之后基礎(chǔ)框架在IDEA中的jetty服務(wù)中調(diào)試成功,但是在部署到Tomcat上時(shí)出現(xiàn)了無法加載DLL庫的狀況,只能現(xiàn)學(xué)現(xiàn)賣了。

一. 把DLL文件放在Tomcat下的方法:

在Tomcat中加載dll,供其它接口調(diào)用:

在Tomcat目錄根下新建一個(gè)文件夾,這里就叫DLL吧,<tomcat_home>/DLL;

把需要用到的dll放入新建的DLL目錄下;

編輯<tomcat_home>/conf/catalina.properties,在common.loader后面追加${catalina.home}/DLL;

編輯<tomcat_home>/bin/目錄下的catalina.bat,在rem Copy CATALINA_BASE from CATALINA_HOME if not defined的段落中增加如下語句:

set LD_LIBRARY_PATH=%CATALINA_BASE%DLL

set JAVA_OPTS=-Djava.library.path=%CATALINA_BASE%DLL%JAVA_OPTS%

保存重新啟動(dòng)Tomcat,deploy war即可。

二. 把DLL文件放在java.library.path路徑下,可以通過System.out.println(System.getProperty('java.library.path'));語句查看都有哪些系統(tǒng)調(diào)默認(rèn)調(diào)用的文件路徑。Tomcat會(huì)在這些目錄下尋找要加載的文件、庫等。

三. 在使用JNA調(diào)用DLL時(shí),總是提示無法加載相應(yīng)的庫。把DLL文件放在各種路徑下都不起作用。

無奈之下,我換成JNI工具嘗試了一下,結(jié)果提示Can’t load IA 32-bit .dll on a AMD 64-bit platform。真相終于浮出了水面,原來是因?yàn)镴DK和DLL系統(tǒng)不兼容(萬萬沒想到問題出在這里),于是我把DLL重新編譯成64位試了一下,成功部署。

然后我又換成JNA工具后試了一下也成功部署(早該換成JNI試一下,就是因?yàn)镴NI使用步驟過于繁瑣,所以一直對(duì)JNA不死心,結(jié)果拖了很長(zhǎng)時(shí)間),問題解決。

四.使用JNA的時(shí)候,大多數(shù)網(wǎng)上教程中Native.loadLibrary(“DLL name”, classname.class); 中的第一個(gè)參數(shù)都是相對(duì)路徑。按照編程經(jīng)驗(yàn),這里應(yīng)該也可以寫成絕對(duì)路徑,例如:

Native.loadLibrary(“C:Program Files (x86)Javajdk1.8.0_51bin DLLname.dll”, classname.class);

我這樣試著跑了一下,證明我的猜想是正確的。

五. 把DLL放在Tomcat文件夾下的bin文件中也可以找到。Linux下放在 /user/local/bin 中。這是我最后采用的方式。

總結(jié):

問題可能出在方方面面,需要學(xué)習(xí)的還很多,經(jīng)驗(yàn)也相當(dāng)重要。同時(shí)應(yīng)該在自己的代碼中建立完整的異常報(bào)錯(cuò)體系,和良好的異常處理習(xí)慣。但是我又擔(dān)心太多的分支處理會(huì)影響整體的性能。還是好好修煉內(nèi)功才是王道啊。

補(bǔ)充知識(shí):正確配置java jdk環(huán)境變量方式 及 配置tomcat后執(zhí)行startup.bat閃退原因分析

我們用的很多軟件都需要配置環(huán)境變量,有的軟件會(huì)自動(dòng)配置環(huán)境變量,不需要我們手動(dòng)配置.而有的必須手動(dòng)配置環(huán)境變量,比如git, eclipse等.

下面分享一下正確配置java環(huán)境變量的方法.因?yàn)楹芏嘬浖倪\(yùn)行都需要基于配置java環(huán)境變量的基礎(chǔ)上.

以配置jdk1.8為例:

1 安裝jdk1.8

如圖中所以,打開jdk-xxx.exe,進(jìn)行安裝jdk,事先建兩個(gè)文件夾jdk,jre,用于分別作為jdk和jre的安裝文件夾

2 配置環(huán)境變量

安裝完之后,就是配置環(huán)境變量:

JAVA_HOME -- 變量值就是jdk的主目錄,圖中已用藍(lán)色標(biāo)出(配置JAVA_HOME變量值時(shí),末尾一定不要加分號(hào))

Path -- 需要配置兩個(gè),jdk的bin目錄和jdk下的jre的bin目錄,如圖中所示:

即 %JAVA_HOME%bin;%JAVA_HOME%jrebin;

解決Java 部署Tomcat時(shí)使用jni和jna調(diào)用DLL文件的問題

JAVA_HOME和Path配置截圖:

解決Java 部署Tomcat時(shí)使用jni和jna調(diào)用DLL文件的問題

解決Java 部署Tomcat時(shí)使用jni和jna調(diào)用DLL文件的問題

配置完之后,可以打開Windows+R.輸入cmd,打開dos窗口,輸入 java 和 javac -version (或java version)來進(jìn)行驗(yàn)證java環(huán)境變量是否配置成功和查看所配置的jdk版本信息

解決Java 部署Tomcat時(shí)使用jni和jna調(diào)用DLL文件的問題

解決Java 部署Tomcat時(shí)使用jni和jna調(diào)用DLL文件的問題

注意:

有些軟件需要嚴(yán)格配置java環(huán)境變量.比如在配置Tomcat后,執(zhí)行startup.bat手動(dòng)啟動(dòng)tomcat會(huì)閃退.原因就是環(huán)境變量沒有正確配置.

右鍵startup.bat,編輯,在文本的最后敲上pause,保存后重新運(yùn)行startup.bat, 這時(shí)候窗口不會(huì)再閃退,而是停留在桌面上,如果有錯(cuò)誤信息,這時(shí)候會(huì)顯示出來,可以根據(jù)提示確定是哪里出錯(cuò).進(jìn)而針對(duì)性解決.其實(shí)90%的原因就是java環(huán)境變量沒有正確配置

解決Java 部署Tomcat時(shí)使用jni和jna調(diào)用DLL文件的問題

調(diào)試成功后,記得把pause去掉

解決Java 部署Tomcat時(shí)使用jni和jna調(diào)用DLL文件的問題

(注意;有時(shí)java環(huán)境變量雖沒有正確配置,但不影響eclipe的運(yùn)行.但若沒有正確配置java環(huán)境變量,就會(huì)導(dǎo)致配置tomcat后,執(zhí)行startup.bat出現(xiàn)閃退現(xiàn)象.)

正確配置java環(huán)境變量方式,見前面所示。

以上這篇解決Java 部署Tomcat時(shí)使用jni和jna調(diào)用DLL文件的問題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
天堂av在线| 婷婷亚洲综合| 日本aⅴ免费视频一区二区三区| 日韩视频在线一区二区三区| 成人台湾亚洲精品一区二区 | 亚洲爱爱视频| 日韩精品1区| 91精品国产自产在线观看永久∴| 成人日韩在线观看| 久久伦理在线| 亚洲一区二区免费看| 免费在线看一区| 亚洲精品女人| 国产欧美午夜| 福利一区和二区| 日韩电影二区| 欧美另类综合| 亚洲制服少妇| 亚洲精品日本| 国产精品成人3p一区二区三区| 欧美a一区二区| 久久uomeier| 91精品1区| 日韩在线视频一区二区三区| 国产精品麻豆成人av电影艾秋| 精品国产黄a∨片高清在线| 麻豆成全视频免费观看在线看| 桃色一区二区| 日av在线不卡| 欧美激情一区| 国户精品久久久久久久久久久不卡| 视频在线观看91| 国产精品a级| 精品免费av在线| 蜜臀久久久久久久| 欧美1区二区| 亚洲网站视频| 亚洲人成亚洲精品| 国产精品乱战久久久| 成人久久一区| 亚洲午夜久久| 久久亚洲精精品中文字幕| 久久激情网站| 日本一不卡视频| 人人草在线视频| 老牛国产精品一区的观看方式| 日韩av资源网| 久久激情一区| 亚洲精品福利| 色乱码一区二区三区网站| 亚洲成人一区| 日本欧美一区二区| 成人在线视频免费| 午夜亚洲精品| 久久久久久久久成人| 欧美午夜精彩| 国产日韩欧美一区| 激情久久五月| 国产欧美自拍| 国产高清一区| 国产精品99久久免费| 欧美网站在线| 麻豆一区二区在线| 亚洲成人二区| 国产伦理久久久久久妇女| 亚洲午夜一级| 久久99蜜桃| 日韩精品一级中文字幕精品视频免费观看 | 国产一区二区精品久| 蜜桃久久av| 国产精品久久久久蜜臀| 亚洲激情欧美| 捆绑调教日本一区二区三区| 日韩不卡在线观看日韩不卡视频| 久久一区二区三区喷水| 国产精品一区二区99| 亚洲欧美高清| 蜜桃精品在线| 欧美精品aa| 亚洲综合中文| 欧洲激情综合| 亚洲精品**中文毛片| 国产麻豆精品久久| 亚洲精品护士| 国产精品女主播一区二区三区| 大香伊人久久精品一区二区| 中文字幕中文字幕精品| 久久青草久久| 理论片午夜视频在线观看| 国产日韩视频| 日韩一区二区三区四区五区| 波多野结衣一区| 三上悠亚国产精品一区二区三区| 国产精品久久久亚洲一区| 亚洲视频电影在线| 亚洲欧洲一区| 久久久精品午夜少妇| 久久只有精品| 国产精品久久久久久妇女| 亚洲精品亚洲人成在线观看| 伊人久久成人| 中文字幕成在线观看| 国产日韩欧美三级| 婷婷视频一区二区三区| 欧美综合国产| 中文国产一区| 女人天堂亚洲aⅴ在线观看| 日韩在线视频精品| 国产一区二区三区久久久久久久久| 国产欧美综合一区二区三区| 亚洲精品美女91| 一区二区国产精品| 中文字幕日韩欧美精品高清在线| 天堂va蜜桃一区二区三区| 欧美日韩国产综合网| 91成人精品视频| 欧美成人基地| 黑森林国产精品av| 岛国av免费在线观看| 精品久久久亚洲| 精品久久精品| 中文字幕人成乱码在线观看| 国产成人调教视频在线观看| 久久99蜜桃| 国产一区二区三区探花| 国产一区福利| 高清一区二区| 亚洲涩涩在线| 黄色av一区| 国产精品日韩久久久| 免费人成黄页网站在线一区二区| 婷婷亚洲五月| 日本欧美在线看| 日韩1区2区3区| 久久国产麻豆精品| 国产精品密蕾丝视频下载| 麻豆91精品视频| 国产成人黄色| 国产专区一区| 蜜桃传媒麻豆第一区在线观看| 亚洲精品日韩久久| 久久国产麻豆精品| 成人在线视频中文字幕| 日韩大片在线观看| 亚洲成人精品| 亚洲丝袜啪啪| 国产精品大片| 97精品中文字幕| 精品国模一区二区三区| 国产伊人精品| 亚洲香蕉视频| 久久99影视| 日韩成人亚洲| 亚洲欧美日韩在线观看a三区| 日韩欧美中文字幕在线视频| 久久狠狠久久| 天堂中文在线播放| 亚洲欧美日韩视频二区| 欧美视频久久| 四虎成人av| 婷婷激情综合| 亚洲三级av| 精品九九久久| 欧美在线影院| 国产欧美日韩精品高清二区综合区| 日本久久黄色| 一本一道久久a久久精品蜜桃| 免费成人在线影院| 里番精品3d一二三区| 欧美+亚洲+精品+三区| 蜜芽一区二区三区| 久久影视三级福利片| 美女网站一区| 深夜福利亚洲| 捆绑调教日本一区二区三区| 欧美综合国产| 国产精品mv在线观看| 久久久久久久久久久妇女| 亚洲有吗中文字幕| 麻豆中文一区二区| 婷婷综合五月| 国产精品视频首页| 欧美高清不卡| 麻豆精品一区二区综合av| 亚洲精品国产偷自在线观看| 国产九一精品| 91精品国产91久久久久久黑人| 婷婷综合福利| 久久久国产亚洲精品| 欧美亚洲专区| 天堂资源在线亚洲| 青草国产精品久久久久久| 性欧美videohd高精| 91精品美女| 精品一区免费| 精品欧美日韩精品| 日韩欧美久久| 九九久久电影| 精品国产亚洲一区二区在线观看| 国产亚洲网站|