0

背景

我目前正在尝试扩展 Junit (org.eclipse.jdt) 以进行一些跟踪。因此,我创建了自己的插件项目,它(除其他外)提供了一个应该由 junit 运行时插件使用的类。

我已将我的项目设置为 junit 的依赖项,并且包含我的类的包在运行时选项卡的清单中列为“导出”。如果我将插件作为 Eclipse 应用程序运行,那么一切都会构建和启动。

问题

但是,如果在开始的 Eclipse 中我执行“以 Junit 身份运行”,我会收到关于我的班级的 NoClassDefFoundError。据我了解,这意味着在运行时我的类在启动的 Eclipse 中不可见。因此,我在运行时打印了类路径,并且像预期的那样,我的插件没有出现。

我是否必须将我的插件添加到 junit 插件的“运行时”设置中?在清单中,我的包在“导出 -> 添加”按钮下不可用。我尝试导入插件的 jar 并在此处手动配置这些导出,但这也无济于事。

我的思维过程有点卡在这种“运行中运行”配置中......欢迎任何帮助!

4

1 回答 1

0

深入研究代码,我发现错误的原因是,调用我的代码并引发错误的部分是在一个单独启动的 VM 中运行的,该 VM 通过代码设置了其类路径。配置没有问题,只是在这种情况下没有使用。

因此,如果您在遇到类路径问题时偶然发现“VMRunnerConfiguration”,这可能是您的问题。;)

于 2013-03-26T11:12:11.827 回答