问题标签 [sharpen-tool]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
17316 浏览

c# - 使用工具或手动将 Java 转换为 C#?

我有一个 Java 项目,我想将其转换为 C#,在查看这里和其他地方后发现了一个工具Sharpen

但是,为了启动并运行它(我是 Java 新手),上面链接的站点描述了获取源代码并将其构建为 Eclipse IDE 的插件,我宁愿不这样做,因为我通常不这样做做Java。

有谁知道是否存在一个独立的 EXE,它可以简单地利用 Sharpen 获取给定的 Java 项目并通过榨汁机运行它以将其转换为 C#?或者 Java 和 C# 是否足够相似,以至于手动将代码移植到 .NET 应该非常简单?

0 投票
1 回答
5780 浏览

java - 在 Eclipse 中开始使用锐化

我是一名 .Net 开发人员,最近我参与了一个正在移植一些 Java 软件的项目。我正在尝试让Sharpen启动并运行以进行转换。

我已经下载并安装了面向 Java 开发人员的 Eclipse IDE(版本:Helios Service Release 1 Build id:20100917-0705)。

我一直在努力遵循本指南。按照有关如何设置锐化的说明,我尝试从 Eclipse中获取https://source.db4o.com/db4o/trunk/sharpen/上的锐化 repo 的副本。主机:source.db4o.com,存储库路径:source.db4o.com/db4o/trunk/sharpen。使用各种连接类型时,我在使用匿名用户名时连接被拒绝(或使用 ext 我得到无法运行程序“ssh”:CreateProcess error=2,系统找不到指定的文件“)。

或者,我可以使用 subversion/toritiseSVN 在上述 url 下载 repo。然后我将它导入我的工作区,但我得到了各种错误,例如 org.eclipse 无法解决。我知道这意味着什么,但我不确定如何解决这个问题。

最后,最后一步是将其导出为“插件开发”->“可部署插件和片段”。但是,我不认为这是一个导出选项。

任何帮助将不胜感激,

谢谢

0 投票
0 回答
4529 浏览

c# - 如何使用 Sharpen 在 Eclipse 中将 java 项目转换为 C#?

我已经从 svn 中检查了锐化,并尝试按照以下说明进行操作:

http://developer.db4o.com/Blogs/Product/tabid/167/entryid/95/Default.aspx

我按照说明将锐化安装为插件。然而,随后文章开始谈论 ant 脚本,这就是我迷失的地方。我没有使用 eclipse 的经验,任何人都可以阐明我应该如何使用锐化插件将我的 java 项目转换为 c#?

*更新

好的,可能已经想通了。此链接描述了如何设置 ant 构建脚本并运行它:

http://individual.utoronto.ca/kia/

我还必须下载 Nant。

0 投票
1 回答
521 浏览

c# - 锐化 Eclipse - 无法映射 - 超级参考

我正在尝试在 Eclipse 中使用 Sharpen 将 java 项目(完整源代码)转换为 C#

我遵循了这个博客的指导方针,效果很好:http ://tumblr.com/ZVuYOwDv6mdu (建议在源代码控制上使用 Lluis Sanchez 的 Sharpen 编译版本)

但是我在一些扩展 ByteArrayInputStream 和 ByteArrayOutputStream 的类中遇到了错误。对“super”的属性和方法的任何引用都返回“Failed to map”

例子:

[exec] 错误:/sharpened/src/com/netnumber/dns/message/DnsOutputStream.java:176:映射失败:'this.nameTable.put(name,new Integer(super.count))' [exec] java .lang.IllegalArgumentException: /sharpened/src/com/netnumber/dns/message/DnsOutputStream.java:176: 映射失败:'this.nameTable.put(name,new Integer(super.count))'

我想知道通过 Sharpen 是否有任何简单的解决方案,或者我是否需要花时间重新编写 java 代码(多个代码文件)以“模仿”引用而不使用扩展,然后使用编写 C# 代码MemoryStream 在最终转换的代码项目中?

0 投票
1 回答
2659 浏览

c# - 如何从 XobotOS 构建/使用锐化?

我克隆了 git://github.com/xamarin/XobotOS.git 并按照https://github.com/xamarin/XobotOS/blob/master/sharpen/README中的说明进行操作

显然,mono 的团队已经预先构建了与自述说明相关的版本,因为添加提供的站点目录不会在 eclipse 的“安装新软件”对话框中添加锐化插件。我想它必须建造。

那么如何构建这个eclipse插件呢?它似乎没有任何 ant/maven 文件。

0 投票
2 回答
779 浏览

eclipse - XobotOS 的构建问题

我正在尝试构建 Xamarin 在 Github 上发布的XobotOS源代码,并且我正在使用根文件夹中 README.build 文档中提供的指南。我已经成功地执行了自述文件中提到的所有步骤,但由于某种原因,eclipse 的第二个实例没有生成任何东西。我会很感激我能得到的任何帮助。谢谢。

以下是一些可能有用的其他细节:

操作系统:Ubuntu 11.04
Eclipse:Eclipse SDK 4.2 (Juno)
Mono:?(我不确定我可能使用的是从源代码构建的破解版)

同时,我将尝试下载 OpenSUSE 并再次尝试。

0 投票
1 回答
2249 浏览

c# - 使用 Sharpen 和 eclipse:错误“在注册表中找不到应用程序“shapen.core.application”。”

背景

我目前正在做一个将java代码转换为c#的解决方案基准测试我们有一个快速发展的java软件,不想用工具移植一些低级(不是ui)api,因为维护版本之间的所有更改可能真的很烦人...无论如何,我一直在尝试使用 Sharpen,因为我听说它是​​一些单声道“怪胎”用来控制他们工具的某些版本的一个非常邪恶的工具。

我做了什么

结果

该插件构建完美,并安装在我的 eclipse 文件夹中。但是,当我在设置完所有内容后尝试运行 ant 脚本时,出现错误:

java.lang.RuntimeException:在注册表中找不到应用程序“shapen.core.application”。

结论

好。我在这里迷路了。我不知道那是什么意思。

  • 我正在使用 Windows 7 64 位
  • 我正在使用 Eclipse 3.7
  • 我正在使用 java 6 sdk 64 位

如果有人遇到这个并有解决方案......那会很有帮助。

提前致谢。

0 投票
3 回答
1048 浏览

c# - 如何使用 Sharpen 转换 Java 枚举

我正在尝试使用versant的锐化转换器将未绑定的 id ldap java sdk 源代码转换为 c#。但是,我收到一个与具有多个构造函数的 java 枚举类相关的异常,并且似乎与普通的.NET 枚举不同。

错误消息如下:

Java 类如下所示:

这个类有问题的方法是:

使用锐化工具解决此问题的最佳方法是什么?

完整的类文件源代码如下:

/* * 版权所有 2012 UnboundID Corp. * 保留所有权利。 // * 版权所有 (C) 2012 UnboundID Corp. * * 本程序为免费软件;您可以根据自由软件基金会发布的 GNU 通用公共许可证(仅限 GPLv2)* 或 GNU 宽通用公共许可证(仅限 LGPLv2.1)* 的条款重新分发和/或修改它。* * 分发此程序是希望它有用,* 但没有任何保证;甚至没有对特定用途的适销性或适用性的默示保证。有关详细信息,请参阅 * GNU 通用公共许可证。* * 您应该已收到一份 GNU 通用公共许可证 * 连同此程序;如果没有,请参阅http://www.gnu.org/licenses。*/ 包 com.unboundid.asn1;

0 投票
1 回答
1591 浏览

java - 将 Java 服务转换为 .NET 4.0 服务 (WCF)

我们必须将大约 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

0 投票
1 回答
447 浏览

c# - 锐化 bundle sharpen.core 的激活器 sharpen.core.Sharpen 无效

我正在尝试运行 Sharpen 将一些 Java 代码转换为 c#。以下是我正在遵循的说明、环境和问题陈述的详细信息。

指令如下:

环境:

  • 日食 4.2.0
  • JDK 1.7 (jdk1.7.0_03)

问题:

我能够在 Eclipse 中设置项目并运行构建文件来转换代码。在执行构建文件的目标“锐化文档”时,它会在 eclipse 配置日志中出错并显示以下消息。

任何帮助都感激不尽。提前致谢。

!信息
!STACK 0 org.osgi.framework.BundleException: 用于 bundle sharpen.core 的激活器 sharpen.core.Sharpen 在 org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:172) 处无效.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:679) 在 org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381) 在 org.eclipse.osgi .framework.internal.core.AbstractBundle.start(AbstractBundle.java:300) 在 org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:440) 在 org.eclipse.osgi.internal.loader.BundleLoader .setLazyTrigger(BundleLoader.java:263) 在 org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:236) 在 org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle .java:1212) at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:174) at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:905) at org .eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243) 在 org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55) 在 org.eclipse.equinox.internal.app .EclipseAppHandle.run(EclipseAppHandle.java:191) 在 org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) 在 org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start (EclipseAppLauncher.java:79) 在 org.eclipse.core.runtime.adaptor.EclipseStarter。在 org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke ( NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:601) 在 org.eclipse.equinox.launcher.Main.invokeFramework (Main.java:629) 在 org.eclipse.equinox.launcher.Main.basicRun(Main.java:584) 在 org.eclipse.equinox.launcher.Main.run(Main.java:1438) 在 org.eclipse。 equinox.launcher.Main.main(Main.java:1414) at org.eclipse.core.launcher.Main.main(Main.java:34) 原因:java.lang.ClassNotFoundException:sharpen.core.Sharpen at org. eclipse.osgi.internal.loader.BundleLoader。findClassInternal(BundleLoader.java:501) 在 org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421) 在 org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)在 org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:356) 在 org.eclipse.osgi.internal.loader.BundleLoader.loadClass (BundleLoader.java:340) 在 org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229) 在 org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java :165) ... 25 更多根异常:java.lang.ClassNotFoundException:sharpen.core.Sharpen at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421) 在 org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412) 在 org.eclipse.osgi.internal.baseadaptor。 DefaultClassLoader.loadClass(DefaultClassLoader.java:107) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:340) at org.eclipse .osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229) 在 org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:165) 在 org.eclipse.osgi.framework .internal.core.BundleContextImpl.start(BundleContextImpl.java:679) 在 org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381) 在 org.eclipse.osgi.framework.internal.core .AbstractBundle.start(AbstractBundle.java:300) at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:440) at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java: 263) 在 org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:236) 在 org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1212) 在 org .eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:174) 在 org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:905) 在 org.eclipse.core.internal .registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243) 在 org.eclipse.core.internal.registry.ConfigurationElementHandle。createExecutableExtension(ConfigurationElementHandle.java:55) 在 org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:191) 在 org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java: 110) 在 org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353) 在 org.eclipse. .core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl .invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:601) 在 org.eclipse.equinox。launcher.Main.invokeFramework(Main.java:629) 在 org.eclipse.equinox.launcher.Main.basicRun(Main.java:584) 在 org.eclipse.equinox.launcher.Main.run(Main.java:1438)在 org.eclipse.equinox.launcher.Main.main(Main.java:1414) 在 org.eclipse.core.launcher.Main.main(Main.java:34)

!ENTRY org.eclipse.osgi 4 0 2012-07-31 13:23:04.737 !MESSAGE 应用程序错误!STACK 1 org.eclipse.core.runtime.CoreException:插件sharpen.core 无法加载类sharpen.core .SharpenApplication。在 org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:176) 在 org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.throwException(RegistryStrategyOSGI.java:194) .core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:905) 在 org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243) 在 org.eclipse.core.internal.registry.ConfigurationElementHandle org.eclipse.equinox.internal.app 上的 .createExecutableExtension(ConfigurationElementHandle.java:55)。