我正在为我们的项目进行 PAX 集成测试,并且在类加载方面遇到了一些问题。
我在 PAX 中部署了几个包(使用 karaf 容器)。一旦 karaf 启动,我可以看到我的捆绑包和服务启动并处于活动状态。但是,在我的测试用例中,我提到了在我的测试执行期间将使用的类(不是服务或组件)。该类驻留在捆绑包中,捆绑包已启动并成功运行,但是我ClassnotFoundError
在测试用例执行中访问该类时得到如下所示,
**java.lang.ClassNotFoundException: com.myproject.sample.bundle.DatabaseConfig
at** org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at com.integrationtest.testcases.internal.development.LaunchContainerTest.populateDBProfiles(LaunchContainerTest.java:189)
at com.integrationtest.testcases.internal.development.LaunchContainerTest.testLaunchOSGiContainerWithDefualtSettingsAndSleep(LaunchContainerTest.java:152)
Failed tests: LaunchContainerTest.testLaunchOSGiContainerWithDefualtSettingsAndSleep:152->populateDBProfiles:189 ▒ ClassNotFound
跟容器有关系吗?