在将要在linux机器上运行的java应用程序中调用.net dll?

时间:2015-08-31 19:30:48

标签: java .net linux

我正在寻找开源选项来调用将要部署的Java应用程序中的.net dll。运行linux盒子。我通过互联网搜索,发现下面的选项可能是相关的(忽略直接的JNI选项,因为它需要Visual C ++知识,我的.net dll有非常复杂的实现):
a)JNA(Java Native Call)
b)JNI4NET
c)IKVM

只是一个重要的提及,我无法在.net源代码中进行任何修改并重新生成.dll。我必须按原样使用它。

任何有关简要说明和限制的建议。每个选项的优点?或者,如果有任何其他简单的&可以使用强大的开源框架?我是否需要强制性地在Linux机器上安装WINE或MONO等模拟器以支持.net dll或者有一种解决方法?

1 个答案:

答案 0 :(得分:0)

使用IKVM.NET

它弥合了mono和java之间的差距,以实现轻松的互操作性,例如:

import cli.System.IO.*;

public class ShowDir{

   public static void main(String[] args){
       String[] files = Directory.GetFiles("."); //.NET System.IO
       for(String file : files){
           System.out.println(file);
       }
   }
}