4

我们必须将大约 100 多个用 Java 编写的服务转换为 .NET (C#) 4.0。我们正试图估计这项工作的努力。我试图找出是否有任何工具可用于这种转换/迁移,以及在实际项目中使用这些工具的任何经验。

我们需要一些指针来评估完成这项工作的不同可能方式。

  1. 用于将 Java 服务转换为 WCF 服务的任何转换器工具或检查列表
  2. 通过使用这些工具实现自动化,有多少代码被转换了?可以节省任何统计数据,例如 X % 的努力等。
  3. 生成的代码质量如何?我们正在寻找带有 WCF 的 .NET/C# 4.0
  4. 该工具用户友好吗?多少学习曲线?
  5. 如果有任何手动进行转换的经验,请分享用于转换的任何指南以及进行工作量估算的任何提示。

我用谷歌搜索了一份可用的转换工具列表。请分享使用以下任何 Java 到 .NET/C# 转换的任何经验

Java Language Conversion Assistant 2.0 - Java Language Conversion Assistant 是一种自动将现有 Java 语言代码转换为 Visual C# 的工具

Janett - Java 到 .Net 翻译器- Janett 将 Java 语法、构造和对 Java 库的调用翻译成 C# / .Net 对应物。

CSharpJavaMerger Framework - 免费和开源的 C# 和 Java 转换工具

Java 2 CSharp Translator for Eclipse - 该工具可以将 Eclipse java 项目自动翻译成 Visual Studio 项目。生成的代码无需任何用户修改即可直接编译和执行。

Tangible Softwaresolutions - 不是免费的,但看起来很有用。

Sharpen - Sharpen 指南- 将 Java 转换为 C# 的绝佳工具(http://www.pauldb.me/post/14916717048/a-guide-to-sharpen-a-great-tool-for-converting-java

4

1 回答 1

2

在上面综合总结中列出的 Java 到 C# 转换器中,有几个项目已经好几年没有得到积极维护了。

因此,两个最有前途的项目可能是 Tangible Software Solutions 的商业Java to C# Converter和开源替代品Sharpen(最初由Versant开发)。这两种产品在将 Java 代码转换为 C# 代码方面都做得相当好,但无论哪种情况,您都应该预期必须对转换后的代码进行大量的手动审查和更正。

Sharpen需要插入到 Eclipse 中,并且还需要一些手动预配置才能使转换运行。此处更详细地描述了配置。开始使用 Sharpen 的最简单方法是从NGit Github 存储库获取预构建的 Eclipse 插件。Sharpen 已被证明可以完成令人印象深刻的转换工作;例如,它用于将JGit转换为NGit在XobotOS项目中,还使用 ​​Sharpen “on steriods”将 Android/Dalvik JVM 源代码转换为 C# 。不幸的是,XobotOS Sharpen 版本容易适用于其他转换项目。

我还尝试了有形演示转换器,它似乎也做了相当不错的转换工作。特别是我很欣赏具有良好转换报告的易于使用的 GUI。另一个优点是它可以独立运行,即没有 Eclipse 或其他 IDE 依赖项。该产品也得到积极维护(最近一次发布于 2012 年 7 月),对于商业产品,您还应该期望至少有一些技术支持。

但是,无论您选择什么,您都必须为大量的代码审查和更正做好准备。我的建议是,您首先在一些需要转换的服务上测试这两种产品,以粗略估计(半)自动化 Java 到 C# 转换是否真的值得付出努力和投资。

于 2012-08-02T19:27:48.600 回答