我有一个通过EAR文件部署到WebSphere Liberty配置文件的servlet。 server.xml中的应用程序条目如下所示:
<application id="MyApp" name="MyApp" type="ear" location="MyApp.ear" />
servlet需要访问OSGi包提供的服务。我按照提到的here示例进行了操作。 OSGi包导出Counter接口所在的包。添加&#34; Import-Package&#34;向EAR的清单声明(就像OSGi包那样)解析对Counter的引用会导致class-def异常。所以我把这个类直接添加到了EAR中。现在,InitialContext.lookup()确实返回了一个代理对象,但将其类型转换为Counter接口会导致转换异常。
我怀疑发生了转换异常,因为EAR有自己的Counter.class。还有其他方法我应该解决这个问题吗? EAR如何从另一个OSGi包中导入包?