Tag: pax web

使用声明性服务在OSGi + Pax-Web中使用GWT的问题

我正在迁移在OSGi(Equinox)和Pax-web上运行的现有GWT应用程序,以使用Declarative Services而不是程序化Service Tracker。 我在Equinox中使用Pax-Web。 PAX-WEB War扩展器没有加载基于WAR的GWT应用程序,但是你不能在这种操作方法中使用声明式服务。 我成功地重构所有servlet退出战争并转换它们变成声明OSGi服务( 这样我就可以摆脱servlet中所有混乱的ServiceTracker代码和特定的OSGi依赖关系。 我进一步复制了所有其他web.xmlfunction,以使用[1]上的信息注册filter,提供静态内容和欢迎页面 此时,它通常应该可以工作,但我遇到了PAX-WEB的问题以及GWT尝试加载其资源的方式: 在加载序列化描述符时,GWT从本地上下文加载序列化策略文件。 在我的情况下,它试图解决这样的资源:/ctx/ctx/62394587E47773FB1594FF.gwt.rpc这个资源是由GWT编译器创建并划归:/战/ CTX / CTX /资源… 之前,使用标准的WAB映射( Webapp-Context: /ctx, Webapp-Root: /war )GWT将正确查找其资源。 现在我正在使用程序化资源映射: DefaultResourceMapping resourceMapping = new DefaultResourceMapping(); resourceMapping.setAlias( “/ctx” ); resourceMapping.setPath( “/war” ); GWT无法加载资源并产生以下错误: 2012-06-20 12:46:36.283:INFO:/:AbcProxy: ERROR: The serialization policy file ‘/ctx/ctx/600000000000000773FB1594FF.gwt.rpc’ was not found; did you forget to include it in this deployment? […]