2014-09-25 19 views
0

我有一個.net dll,它有一些我需要從java程序中調用的函數。 這是我使用的代碼,它給了我這個錯誤。「線程中的異常」main「java.lang.UnsatisfiedLinkError:」但dll加載正常。 s如何在java中加載.net(VB)dll和使用它的方法

static { 
     try { 

      System.load("mydotnet.dll"); 
      System.out.println("loaded"); 

     } catch (UnsatisfiedLinkError e) { 
      System.err.println(e); 

     } 
    } 

    private static native boolean SC_Start(); 
+0

你是什麼意思「dll加載好」? – talex 2014-09-25 13:56:16

+0

DLL加載好,但訪問DLL中的功能是給這個錯誤:線程「主」的異常java.lang.UnsatisfiedLinkError – MorganM 2014-09-25 14:02:41

+0

如何在VBNet中聲明'SC_Start'方法? – talex 2014-09-25 14:07:02

回答

0

您的DLL在Java PATH的目錄中嗎?

如果沒有,則:

  1. 添加包含DLL到PATH
  2. 已經移動DLL到一個目錄在PATH
  3. 或者使用完整路徑DLL,例如目錄C:\ Path \ To \ Directory \ mydotnet.dll
+0

該DLL加載好,但訪問該函數在DLL是給這個errror:線程「main」中的異常java.lang.UnsatisfiedLinkError – MorganM 2014-09-25 14:02:09

+0

您的DLL是否設置爲由Java使用? Java不能加載和使用任何舊的.NET DLL 查看此答案的解釋 http://stackoverflow.com/questions/8675179/accessing-dll-methods-in-java – 2014-09-25 14:16:17