2011-03-17 56 views
4

我正在嘗試將jar轉換爲使用IKVM的dotnet中的dll,但是在線程「main」java.lang.ClassNotFoundException中出現此錯誤異常:\ jar \的位置...使用ikvm將罐子轉換爲dll

任何人都可以提供一些指導..

在此先感謝

回答

0

難道你忘了所有的參考IKVM所需的DLL。淨? 。

IKVM.Runtime.dll IKVM.Reflection.dll IKVM.OpenJDK * DLL

我有與SmsLib .NET版本

16

先決條件 -

  1. 您必須已經安裝在系統上的JDK。
  2. 設置JDK的環境變量。

enter image description here

步驟:

  1. 打開命令提示。
  2. 轉到ikvmc文件夾(ikvmc.exe附帶ikvm包)。
  3. 輸入命令ikvmc -out:myapp.dll myapp.jar
+0

如果你覺得它有幫助,那就投票吧 – 2012-08-09 05:05:34

+0

雖然所有相關/引用的jar都駐留在同一個目錄中,但我得到很多'class not found'錯誤 – 2012-11-30 15:41:11

+0

要轉換爲DLL的JAR文件應該符合JAVA JDK 1.7或更低。此限制是因爲IKVM目前不支持轉換使用JDK 1.8或更高版本編譯的JAR文件。 – Dinesh 2017-12-13 08:48:36

0

首先,創建一個新的綁定庫項目。在Xamarin Studio或Visual Studio中,創建一個新的解決方案並選擇Android綁定庫模板。

該模板包含一個Jars文件夾,您可以將您的.JAR添加到綁定庫項目中。右鍵單擊該瓶文件夾並選擇添加>現有項:

導航到先前下載的.jar文件,選中它,然後單擊添加:

驗證.jar文件已成功添加到項目中:

右鍵單擊您的jar文件=>電學性能的研究=>選擇嵌入式罐子

設置構建動作EmbeddedJar:

EmbeddedJar - 將.jar將被嵌入綁定資源庫中

設置您的綁定庫

最後目標API級別,建立綁定庫。雖然可以顯示一些警告信息,綁定庫項目應該能夠成功建立,並在以下位置產生一個輸出.DLL:

項目名/斌/調試/ JarBinding.dll

參考

https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/binding-a-jar/