我目前正在尝试扩展Junit(org.eclipse.jdt)以进行一些跟踪。 因此,我创建了自己的插件项目,其中(以及其他)提供了一个应该由junit运行时插件使用的类。
我已将我的项目设置为junit的依赖项,并且包含我的类的包在运行时选项卡的Manifest中列为“已导出”。如果我将插件作为eclipse应用程序运行,那么所有内容都会构建并启动。
但是,如果在启动的eclipse中执行“Run as Junit”,我会得到一个关于我的类的NoClassDefFoundError。在我的理解中,这意味着,在运行时,我的类在启动的eclipse中不可见。因此,我在运行时打印了类路径,就像我预期的插件没有显示一样。
我是否必须将我的插件添加到junit插件的“运行时”设置中?在Manifest中,我的包在“export - > add”按钮下不可用。我尝试导入一个我的插件罐并在这里手动配置这些导出,但这也无济于事。
我的思维过程被这种“运行中运行”配置所困扰...... 欢迎任何帮助!
答案 0 :(得分:0)
深入研究代码我发现错误的原因是,调用我的代码并抛出错误的部分是在一个单独启动的VM中运行的,它通过代码设置了类路径。配置没有任何问题,只是在这种情况下没有使用。
因此,如果您在遇到类路径问题时遇到“VMRunnerConfiguration”,这可能是您的问题。 ;)