我正在使用嵌入式tomcat的eclipse处女座服务器。我想使用我创建的自定义会话管理器,它存在于osgi包中。我已经将osgi包配置为片段,其中catalina包是片段主机。同样在我的context.xml中,我通过指定完全限定的类名来配置会话管理器。
问题是在启动时我的会话管理器得到了ClassNotFoundException。
我已经尝试将我的jar添加到lib文件夹并修改config.ini以使我的jar在启动时加载但是没有帮助
在这种情况下,我该怎么做才能确保在启动时找到我的课程。
答案 0 :(得分:2)
您可以使用此Virgo Shell Commands中所述的blog来分析类加载问题。例如,您可以列出可以加载类的所有包。看看处女座常见问题解答如果需要,如何将导入添加到第三方软件包。
答案 1 :(得分:1)
启用类加载器调试有帮助,
在configuration / config.ini中添加以下属性
osgi.debug=configuration/equinox-debug.properties
在configuration / equinox-debug.properties中添加以下属性
org.eclipse.osgi/debug=true
org.eclipse.osgi/debug/loader=true
现在,当您重新启动容器时,它会打印出试图加载您的类的BundleClassLoader。我希望我的bundle能够作为一个片段添加到正在加载这个类的bundle中,所以一旦我弄清楚哪个bundle正在加载该类,我只是将它用作片段主机。