【问题标题】:Bridge between Java and C# [closed]Java和C#之间的桥梁[关闭]
【发布时间】:2012-02-12 16:32:53
【问题描述】:

我的任务是在 C# 和 Java 之间建立一座桥梁。据说如果我们现在使用 C#,然后我们从其他地方收到一个 Java 文件,我们应该能够将该 Java 文件转换为 .NET,以便它可以与我们的软件兼容。问题是我不知道该做什么,甚至不知道如何开始这项任务。有什么建议或意见吗?

据说我最初必须制作独立于平台的类,如果有帮助的话。

*编辑:对不起,如果我第一次不清楚,因为我自己并不完全理解这项任务,这就是我在这里的原因。但据我了解,我必须自己创建桥接器,以便从我的 .NET 文件中调用源 Java 代码。我有几个月的时间来完成它,所以我假设我必须使 Java 中的每个库都与 C# 兼容。

我四处寻找帮助,发现了一些类似的项目:JNBridge(付费使用)、Tangible(免费演示)和 Janett(开源),这就是我的观点。

**编辑:假设我在 Java 中创建了一个计算器类。我想在 C# 中创建该类的实例。

【问题讨论】:

  • Java 文件是什么意思?用Java(或)其他语言开发的系统发送的Java源代码(或)数据?
  • 您是否想要 (1) 从 C# 与现有的 Java 编译代码通信(如“桥”),或 (2) 将 Java 代码移植到 C#(“将该 Java 文件转换为 .NET “)?你的问题在这方面根本不清楚。这些是完全不同的事情/任务。
  • 这是一项相当艰巨的任务...假设您的意思是源代码,这是否可行? c# 和 java 具有很强的相似性,但某些结构在 java 中甚至不存在于 c# 中,反之亦然。例如 linq、委托、动态类型、匿名对象等。
  • 您可以将 Java 二进制文件转换为 .NET 请参阅ikvm.net
  • @CodeCaster,请尝试 IKVM。我用它来将 Lucene、Jericho Html Parser、Mobile Atlas Creator 等二进制文件转换为 .Net 并在许多项目中使用。这不是玩笑,这是真的。我真的无法相信这种无知。

标签: c# java platform-independent language-interoperability


【解决方案1】:

我从未使用过这个,IKVM.NET 可能值得一试。

IKVM.NET 是用于 Mono 和 Microsoft .NET 的 Java 实现 框架。它包括以下组件:

- A Java Virtual Machine implemented in .NET
- A .NET implementation of the Java class libraries
- Tools that enable Java and .NET interoperability

有一次我看到它是不久前,在使用基于 .NET 的专有 CMS 时。使用了那个程序集,但我不确定它的容量。

【讨论】:

  • 我不知道我是怎么错过 IKVM 的,但我认为我需要做一些类似的东西,因为它将 Java 库转换为 .NET。
【解决方案2】:

视情况而定,有大量的集成技术可用于桥接两个系统。事实上,有一个完整的软件架构范式专门用于此,称为面向服务的架构。用于服务间通信的任何技术都可用于集成任何两个系统,无论其大小。当然,有一些权衡,但总是有的。

如果没有更多关于所涉及系统和所需集成级别的更多信息,非常很难为这个问题找到明确的答案。

【讨论】:

    【解决方案3】:

    根据您对桥接功能的解释,听起来 JNBridge 可以很好地解决您的问题并节省大量重新发明轮子的时间。如果您有任何问题,请通过 JNBridge 联系我们——网站上有联系链接。 (披露:是的,我为 JNBridge 工作。)

    【讨论】:

      猜你喜欢
      • 2011-08-26
      • 2011-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-24
      • 2010-12-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多