【发布时间】:2023-03-13 14:19:01
【问题描述】:
您好,我正在尝试在 Felix 容器中部署 Web 应用程序。 我已经使用我的 Web 应用程序完成了所有必需的配置,例如设置清单标头: Webapp-上下文: 捆绑类路径: 捆绑激活器: 进口包装: 捆绑符号名称: 等等 我放在同一个容器中的 Pax 包是: pax-web-service-0.6.0.jar pax-web-jsp-0.7.1.jar pax-web-extender-war-0.7.1.jar pax-logging-service-1.5.0.jar pax-logging-api-1.5.0.jar
虽然 pax 网站上已经写到 pax-web-service 包含在 pax-war-extender 中,但似乎没有 pax-web-service 捆绑包,所有其他捆绑包都会受到影响。
我已经删除了其他 pax 捆绑包,例如 pax-web-extender-whiteboard-0.7.1.jar pax-web-jetty-0.7.1.jar,因为我没有看到它们的任何用处。
pax-web-jetty-0.7.1.jar 甚至无法启动。它具有无法从 PAX 提供的任何捆绑包中解析的依赖项。
我的浏览器显示: HTTP 错误 403
访问 /adminmodule/ 时出现问题。原因:
禁止
由 Jetty 提供支持://
虽然控制台日志显示:
[5884890@qtp-16567002-0 - /adminmodule/] 调试 org.mortbay.jetty - 在 org.mortbay.jetty.HttpConnection@1e94001 上请求 /adminmodule/ [5884890@qtp-16567002-0 - /adminmodule/] 调试 org.ops4j.pax.web.service.internal.model.ServerModel - 匹配 [/adminmodule/] ... [5884890@qtp-16567002-0 - /adminmodule/] 调试 org.ops4j.pax.web.service.internal.model.ServerModel - 路径 [/adminmodule/] 匹配到 {pattern=/adminmodule/.*,model=ResourceModel {id=org.ops4j.pax.web.service.internal.model.ResourceModel-2,name=,urlPatterns=[/],alias=/,servlet=ResourceServlet{context=/adminmodule,alias=/,name=} ,initParams={},context=ContextModel{id=org.ops4j.pax.web.service.internal.model.ContextModel-1,name=adminmodule,httpContext=org.ops4j.pax.web.extender.war.internal。 WebAppWebContainerContext@11710be,contextParams={webapp.context=adminmodule}}}} [5884890@qtp-16567002-0 - /adminmodule/] 调试 org.ops4j.pax.web.service.internal.HttpServiceContext - 使用 http 上下文 [org.ops4j.pax.web.extender 处理 [/adminmodule/] 的请求。 war.internal.WebAppWebContainerContext@11710be] [5884890@qtp-16567002-0 - /adminmodule/] 调试 org.mortbay.jetty - sessionManager=org.mortbay.jetty.servlet.HashSessionManager@19c6163 [5884890@qtp-16567002-0 - /adminmodule/] 调试 org.mortbay.jetty - session=null [5884890@qtp-16567002-0 - /adminmodule/] 调试 org.mortbay.jetty - servlet= [5884890@qtp-16567002-0-/adminmodule/] 调试 org.mortbay.jetty-chain=org.ops4j.pax.web.service.internal.model.FilterModel-3-> [5884890@qtp-16567002-0 - /adminmodule/] 调试 org.mortbay.jetty - servlet holder= [5884890@qtp-16567002-0 - /adminmodule/] 调试 org.mortbay.jetty - 调用过滤器 org.ops4j.pax.web.service.internal.model.FilterModel-3 [5884890@qtp-16567002-0 - /adminmodule/] 调试 org.ops4j.pax.web.service.internal.WelcomeFilesFilter - 应用欢迎文件过滤器... [5884890@qtp-16567002-0 - /adminmodule/] 调试 org.ops4j.pax.web.service.internal.WelcomeFilesFilter - Servlet 路径:/ [5884890@qtp-16567002-0 - /adminmodule/] 调试 org.ops4j.pax.web.service.internal.WelcomeFilesFilter - 路径信息:空 [5884890@qtp-16567002-0 - /adminmodule/] 信息 org.ops4j.pax.web.service.internal.HttpServiceContext - 获取资源:[/adminmodule.jsp] [5884890@qtp-16567002-0 - /adminmodule/] 调试 org.ops4j.pax.web.extender.war.internal.WebAppWebContainerContext - 搜索捆绑包 [com.cisco.zaloni.gwt.admin [1]] 以获取资源 [/ adminmodule.jsp],规范化为 [adminmodule.jsp] [5884890@qtp-16567002-0 - /adminmodule/] 调试 org.ops4j.pax.web.extender.war.internal.WebAppWebContainerContext - 找不到资源 [5884890@qtp-16567002-0 - /adminmodule/] 信息 org.ops4j.pax.web.service.internal.HttpServiceContext - 找到资源:空 [5884890@qtp-16567002-0 - /adminmodule/] 调试 org.mortbay.jetty - 调用 servlet [5884890@qtp-16567002-0 - /adminmodule/] 调试 org.ops4j.pax.web.extender.war.internal.WebAppWebContainerContext - 搜索捆绑包 [com.cisco.zaloni.gwt.admin [1]] 以获取资源 [/ ],归一化为 [/] [5884890@qtp-16567002-0 - /adminmodule/] 调试 org.ops4j.pax.web.extender.war.internal.WebAppWebContainerContext - 资源作为 url [bundle://1.0:1/] [5884890@qtp-16567002-0 - /adminmodule/] 调试 org.mortbay.jetty - 响应 /adminmodule/ 403
真的很郁闷。
请帮忙。因为我是 OSGI 的新手。
劳尔
【问题讨论】:
-
我也有类似的问题 - 也许这篇博文会有所帮助:leshazlewood.com/2010/09/08/osgi-maven-pax-and-web-applications
标签: jetty osgi apache-felix pax