【发布时间】:2012-07-29 17:39:39
【问题描述】:
我正在尝试运行 Sharpen 以将一些 Java 代码转换为 c#。以下是我所遵循的说明、环境和问题说明的详细信息。
说明如下:
- http://www.pauldb.me/post/14916717048/a-guide-to-sharpen-a-great-tool-for-converting-java
- http://community.versant.com/documentation/reference/db4o-7.12/net2/reference/index_Left.html#CSHID=sharpen%2Fhow_to_setup_sharpen.htm|StartTopic=Content%2Fsharpen%2Fhow_to_setup_sharpen.htm|SkinName=RedVersant
环境:
- Eclipse 4.2.0
- JDK 1.7 (jdk1.7.0_03)
问题:
我能够在 Eclipse 中设置项目并运行构建文件来转换代码。在执行构建文件的目标“锐化文档”时,它会在 eclipse 配置日志中出错并显示以下消息。
任何帮助将不胜感激。提前致谢。
!ENTRY org.eclipse.osgi 2 0 2012-07-31 13:23:04.507
!消息
!堆栈 0
org.osgi.framework.BundleException:用于 bundle sharpen.core 的激活器 sharpen.core.Sharpen 无效
在 org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:172)
在 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)
在 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)
在 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.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
在 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)
引起:java.lang.ClassNotFoundException:sharpen.core.Sharpen
在 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
在 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)
在 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)
在 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)
在 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.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
在 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 应用程序错误 !堆栈 1 org.eclipse.core.runtime.CoreException:插件sharpen.core 无法加载类sharpen.core.SharpenApplication。 在 org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.throwException(RegistryStrategyOSGI.java:194) 在 org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:176) 在 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.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) 在 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) 引起:java.lang.ClassNotFoundException:sharpen.core.SharpenApplication 在 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.loadClass(AbstractBundle.java:1212) 在 org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:174) ... 17 更多
【问题讨论】:
-
您最详细地遵循了哪些说明?我相信保罗的指示应该足够了,我发现很少甚至没有使用 Versant 的指示。您是使用NGit project 中的JAR 还是使用Lluis Sanchez' 代码自己构建的?使用预构建的 JAR 可能是最简单的。我也认为 Java 7 存在问题。尝试在您的转换项目中引用 Java 6 SDK,看看这是否提供了足够的解决方法。
-
是的,我确实按照 Paul 的指示使用了来自 NGit 项目的 JAR。安装 JAVA 后,问题神奇地消失了 :) .. 感谢您指出这一点。
标签: c# java sharpen-tool