我有一个osgi捆绑包,它承载许多资源,例如:
resouces/myfile.txt
包中有一个名为resourceloader的类,它包含以下代码:
public boolean registerProviders(String name) {
ClassLoader loader = BundleA.class.getClassLoader();
URL url = loader.getResource(name);
return ( url != null );
}
我还有一个片段bundle testa,它为bundle a提供单元测试。其中一项测试, registerProvidersTest
,调用 registerProviders
上述方法。当我想跑的时候 registerProvidersTest
作为来自启动程序的junit测试,找不到资源。我已经验证了类装入器indeeds指向bundle a的一个类,并且问题似乎只在运行junit测试时出现;访问 registerProviders
另一个包的方法可以很好地工作。
据我所知,问题一定出在junit(在osgi环境中)。我使用eclipse版本2020-09(4.17.0)尝试了junit4和junit5测试。我也尝试过名字的各种变化。我很肯定我不是唯一一个遇到这个问题的人,所以任何帮助都将不胜感激。
暂无答案!
目前还没有任何答案,快来回答吧!