我在 tomcat\context.xml 中配置了我的数据源。我已经部署了一个 Eclipse 提供的 bridge.war 来获取 servletbridge 环境。
我开发了另一个包含 servlet 注册代码的 osgi 包,我的目标是让 JNDI 从这个 servlet 包中查找数据源。
但是我得到
javax.naming.NoInitialContextException:Cannot instantiate class: org.apache.naming.java.javaURLContextFactory (root cause classnotfound for org.apache.naming.java.javaURLContextFactory)
当我尝试在我的 OSGI 包中使用以下代码时
Context initContext = new InitialContext();
Context envContext = (Context) initContext.lookup("java:/comp/env");
DataSource ds = (DataSource) envContext.lookup("jdbc/TestDB");
我在我的 osgi 容器中添加了 catalina.jar 并且也作为我的 osgi 包中的依赖项。
我的 bridge.war 的 launch.ini 如下所示:
osgi.*=@null
org.osgi.*=@null
eclipse.*=@null
osgi.parentClassloader=ext
osgi.contextClassLoaderParent=ext
org.osgi.framework.system.packages.extra=org.apache.naming.java
有人可以帮我吗?