java.lang.ClassCastException:无法将org.lassfish.web.loader.Weba



我正在使用Glassfish和OSGI开发一个简单的应用程序。我找到了这个教程:http://blogs.oracle.com/arungupta/entry/totd_154_dynamic_osgi_services我修改了这个例子。您可以找到我的自定义示例文件:http://uploading.com/files/cf1ffd63/test.zip/我用web模块和EJB模块创建了EAR包。我创建了一个会话bean,它调用OSGI捆绑包。我成功地编译了这个项目。问题是,当我将包上传到Glassfish应用程序服务器并试图将简单的小程序打开到web模块时,出现了以下错误消息:

HTTP Status 500 -
type Exception report
message
descriptionThe server encountered an internal error () that prevented it from fulfilling this request.
exception
java.lang.ClassCastException: Cannot cast org.glassfish.web.loader.WebappClassLoader to org.osgi.framework.BundleReference
note The full stack traces of the exception and its root causes are available in the GlassFish Server Open Source Edition 3.1.1 logs.
GlassFish Server Open Source Edition 3.1.1

也许问题是缺少依赖关系。我找不到问题?你知道可能是什么问题吗?

OSGi Core 4.2规范(org.OSGi.framework;版本=1.5)的第3.8.9节要求所有bundle类加载器都必须实现BundleReference接口。也许GlassFish中的类加载器不这样做?您的GlassFish版本支持哪个版本的OSGi核心规范?

您不应该将应用程序部署为ear,两个模块必须作为OSGi捆绑包单独部署

相关内容

  • 没有找到相关文章

最新更新