繁体   English   中英

调用Java中.NET程序集的最佳简便方法

[英]Best and simple way to call .net assemblies in java

是否存在一种在Java中调用.net程序集更特定的.dll文件的方法?

我现在正在为.net开发一个框架,我需要将其迁移到Java,我可以这样做吗? 我在.net中使用c#。

最简单的方法应该是COM启用.Net程序集。 这样,您可以调用与普通WIN32 DLL通信的任何方法。

一些示例可以在这里找到: http : //www.devx.com/interop/Article/19845

检查此响应是否有帮助。 从Java jvm调用.net程序集崩溃。

来到了这个有趣的网站(可能对您没有直接帮助)...

dotnetfromjava.dev.java.net

不需要COM对象,我也不会推荐任何自定义解决方案,因为就像重新发明轮子一样。 关于这种集成,有很多具体情况和细节,例如通过“ ref”,“ out”,泛型方法等传递等等。我建议的最好是使用JAVA到.NET桥,例如www .javonet.com

这是有关此解决方案的简短文章: http : //javabridges.hubpages.com/hub/Using-NET-libraries-from-JAVA-is-that-possible

还有其他类似的桥梁,但是使用javonet可以获得非常简单的API,只需一个JAR文件,您就可以复制.NET dll并直接调用它,而无需任何其他步骤。 它支持.NET异常,对象处理,调用实例和静态方法(包括泛型,设置/获取字段等)...您可以像使用Java JAVA类一样使用Java中的.NET dll对象。

用法示例如下:

//Sample Usage of .NET Random Class from JAVA using Javonet
NObject dotNetRandom = Javonet.New("System.Random");
Integer randomNumber = dotNetRandom.invoke("Next",5,10);

请注意,如果可能的话,这种桥会自动将结果转换为本地JAVA类型,并使用方法参数的相同方法。 您可以在Javonet网站上的快速入门指南中阅读很多示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM