java—在osgi和junit中找不到资源

cgvd09ve  于 2021-06-30  发布在  Java
关注(0)|答案(0)|浏览(230)

我有一个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测试。我也尝试过名字的各种变化。我很肯定我不是唯一一个遇到这个问题的人,所以任何帮助都将不胜感激。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题