java中Web Project中載入dll文件的終極解決方案

本文章介紹了關于java中Web Project中載入dll文件的終極解決方案 有需要的朋友可以參考一下本文章。

1.首先把要載入的dll文件拷貝到Web Project的src目錄下

2.聲明一個TestDLL類,名字請根據實際命名

代碼如下

package com.anllin.jni;

public class TestDLL
{
public TestDLL(String... filenames)
{
// 取得src下的物理路徑,
String path = TestDLL.class.getResource("/").getPath();
// 將路徑裏的%20替換成空格,不然在src目錄下會找不到dll文件
path = path.replaceAll("%20", " ");
//output : /D:/myEclispe8.6 projects/jnitest/WebRoot/WEB-INF/classes/
System.out.println(path);
//注:使用System.load()時,文件名必須包含.dll後綴,如test1.dll
for (String filename : filenames)
{
System.load(path + filename);
}
}

public native void test1();

public native void test2();

public native void test3();
}

3.聲明一個調用類TestInvoker,名字請根據實際命名

代碼如下

package com.anllin.jni;

public class TestInvoker
{
private TestDLL testDll;

public TestInvoker()
{
// 注意,一定要確定DLL之間的依賴關系,誰先載入,誰後載入,不然會報錯,先載入的放在前面
     testDll = new TestDLL("test1.dll", "test2.dll", "test3.dll");
}

public void test1()
{
testDll.test1();
}

public void test2()
{
testDll.test2();
}

public void test3()
{
testDll.test3();
}
}

4.這種Dll文件載入方式的好處:

a.當你有多個Web Project,每個都要去調用DLL時,就不沖突了,如果DLL是放在tomcat的bin下的話,每載入一次都是載入相同的dll,會報錯,我做的專案就是這樣。

b.DLL文件好管理,放到src下就行,就算多個Web Project,每一份DLL都是一個拷貝,彼此之間不依賴,耦合性低。

c.方便布署,將專案打包成war包後,就象一般專案一樣,放到tomcat裏就行了。

更多相關文章
  • Ajax中Response.Write輸出js腳本出錯的解決方案Ajax 3.5是不是有改動.後來經過嘗試將ScriptManager.RegisterStartupScript(updatePanel1, typeof(UpdatePanel), "aaa", "&l ...
  • CentOS6中挂載lvm分區重名問題解決方案
    挂載lvm分區重名是一台linux機器出現的問題,朋友的機器挂載老硬盤時出現了問題了,後來
  • 在ci中使用session的時候,開啓自動載入session之後網站就報錯了,報錯如下In order to use the Session class you are required to set an encr
  • Android載入上百張圖片做動畫出現OOM(記憶體溢出)解決方案
    有一個Android應用中要做一個有幾百張圖片的幀動畫(惡心),這樣很容易出現android記憶體溢出,本文我們來談談防止OOM的解決方案.幀動畫一開始我的想法是直接用幀動畫來做,可是我太天真了,當幀數放到 50 幾張的時候,已經在有些機器上奔潰了!所以這個方案否決!GIF動圖雖然可以顯示,但是已經 ...
  • 小米4刷機過程中出現了載入類型庫和DLL出錯問題
    小米4刷機過程中出現了載入類型庫和DLL出錯要如何來解決呢,出現這個問題我們就一起來看看吧,希望這篇文章能夠幫助到各位朋友,有興趣的同學可以進來看看吧,希望此文章能夠幫助到各位朋友.小米4刷機出現dll問題了,那麽出現小米4刷機報錯要如何來處理了,今天我們就一起來看看吧,希望文章幫助到各位朋友.小米
  • 下面來給各位介紹一下關于linux中mydumper需要輸入明文密碼解決方案,希望能幫助到各位同學.在使用mydumper時,需要再命令行中輸入用戶名和密碼,這會記錄到history中,這樣的話,就是相對不安全.[root@liufofu backup]# mydumper -h localhost ...
  • php 無法載入mysql 的module 配置的解決方案
    文章介紹了在自己做環境時發現php 無法載入mysql 的module 配置,現在根據問題我們來找解決方法及由解決方法引起的一些小問題.今天配置php 的時候,發現沒配起mysql ,wordpress提示我需要 mysql 的module之後上google搜索,大多數都是說php.ini 沒載入起
  • 下面來看一篇不發送HTTP Referer信息載入JavaScript文件,這個例子其實對于我們幫助不大了,但小編既然看到了就介紹給大家吧.在 Web 開發中,我們經常會遇到跨域請求的問題.跨域的問題,解決方案有很多
一周排行