Java 将JSP与OSGi一起使用时无法启动片段捆绑包
因此,我尝试使用JSP和JSTL构建UI,以便与OSGi环境一起工作。我已经添加了JSTL工作所需的捆绑包:-Java 将JSP与OSGi一起使用时无法启动片段捆绑包,java,jsp,osgi,bundle,fragment,Java,Jsp,Osgi,Bundle,Fragment,因此,我尝试使用JSP和JSTL构建UI,以便与OSGi环境一起工作。我已经添加了JSTL工作所需的捆绑包:- 我还在环境中添加了所有必需的包。最后,在解决以下依赖关系时,我添加了太多的bundle,但有一点被卡住了 我的一个包(我认为这是一个片段)没有开始,它的依赖性也没有得到解决。我得到的例外是:- org.osgi.framework.BundleException: A fragment bundle cannot be started: com.springsource.org.
org.osgi.framework.BundleException: A fragment bundle cannot be started: com.springsource.org.apache.jasper_7.0.26 [107]
在这个例外之后,我还有一个例外:-
org.osgi.framework.BundleException: The bundle "org.eclipse.equinox.jsp.jasper_1.0.0.v20070607 [117]" could not be resolved. Reason: Missing Constraint: Import-Package: org.apache.jasper.servlet; version="0.0.0"
我已安装了以下捆绑包列表,其中一些未处于活动状态:-
id State Bundle
0 ACTIVE org.eclipse.osgi_3.7.1.R37x_v20110808-1106
6 ACTIVE org.eclipse.persistence.core_2.3.2.v20111125-r10461
10 ACTIVE javax.persistence_2.0.3.v201010191057
12 ACTIVE org.eclipse.persistence.antlr_2.3.2.v20111125-r10461
15 ACTIVE org.eclipse.persistence.jpa.jpql_2.0.1.v20121003-ad44345
16 ACTIVE org.eclipse.persistence.asm_2.3.2.v20111125-r10461
21 ACTIVE org.eclipse.persistence.jpa_2.3.2.v20111125-r10461
25 ACTIVE StockControlSystem_0.0.1
28 ACTIVE javax.annotation_1.1.0.v201105051105
32 ACTIVE org.springframework.core_3.0.5.RELEASE
33 ACTIVE org.springframework.aop_3.0.5.RELEASE
34 ACTIVE com.scs.request_1.0.0.qualifier
35 ACTIVE org.eclipse.virgo.util.common_3.0.1.RELEASE
37 ACTIVE com.scs.order_1.0.0.qualifier
38 ACTIVE org.springframework.osgi.io_1.2.1
41 ACTIVE mysql.jdbc_1.0.0
45 ACTIVE com.springsource.org.apache.tomcat.api_7.0.26
47 ACTIVE org.springframework.osgi.core_1.2.1
48 ACTIVE com.springsource.org.apache.commons.logging_1.1.1
49 ACTIVE com.springsource.org.eclipse.jdt.core.compiler.batch_3.6.1
53 ACTIVE com.scs.persistence_1.0.0.qualifier
55 ACTIVE com.scs.stockdetails_1.0.0.qualifier
58 ACTIVE com.scs.delivery_1.0.0.qualifier
59 ACTIVE org.springframework.beans_3.0.5.RELEASE
60 ACTIVE org.springframework.context_3.0.5.RELEASE
66 ACTIVE joda.time_1.0.0
67 ACTIVE com.springsource.org.aopalliance_1.0.0
71 ACTIVE javax.servlet_3.0.0.v201103241009
72 ACTIVE com.springsource.org.apache.xmlcommons_1.3.4
73 ACTIVE javax.el_2.2.0.v201105051105
74 ACTIVE javax.servlet.jsp_2.2.0.v201103241009
75 ACTIVE com.springsource.javax.servlet.jsp.jstl_1.2.0.v20110728
76 ACTIVE org.eclipse.osgi.services_3.3.0.v20110513
78 ACTIVE com.springsource.javax.xml.soap_1.3.0
80 RESOLVED com.springsource.org.apache.coyote_7.0.26
Master=83
81 ACTIVE com.springsource.javax.activation_1.1.1
82 ACTIVE com.springsource.javax.mail_1.4.0
83 ACTIVE com.springsource.org.apache.catalina_7.0.26
Fragments=80, 88, 95, 97
84 ACTIVE com.springsource.javax.persistence_1.0.0
88 RESOLVED com.springsource.org.apache.catalina.ha_7.0.26
Master=83
92 ACTIVE org.eclipse.virgo.util.parser.manifest_3.0.1.RELEASE
93 ACTIVE com.springsource.org.apache.juli.extras_7.0.26
95 RESOLVED com.springsource.org.apache.catalina.tribes_7.0.26
Master=83
97 RESOLVED com.springsource.org.apache.tomcat.util_7.0.26
Master=83
100 ACTIVE com.springsource.javax.ejb_3.0.0
101 ACTIVE com.springsource.javax.xml.rpc_1.1.0.v20110517
102 ACTIVE org.eclipse.equinox.util_1.0.300.v20110502
103 ACTIVE org.eclipse.equinox.ds_1.3.0.v20110502
104 ACTIVE com.springsource.slf4j.api_1.6.1
Fragments=113
105 ACTIVE org.eclipse.virgo.util.math_3.0.1.RELEASE
106 ACTIVE org.eclipse.virgo.util.io_3.0.1.RELEASE
107 INSTALLED com.springsource.org.apache.jasper_7.0.26
108 ACTIVE com.springsource.javax.transaction_1.1.0
109 ACTIVE org.eclipse.virgo.util.osgi_3.0.1.RELEASE
110 ACTIVE org.eclipse.gemini.web.tomcat_2.0.2.RELEASE
111 ACTIVE org.eclipse.gemini.web.core_2.0.2.RELEASE
112 ACTIVE com.springsource.javax.xml.bind_2.1.7
113 RESOLVED com.springsource.slf4j.nop_1.6.1
Master=104
114 ACTIVE com.springsource.javax.xml.stream_1.0.1
115 ACTIVE org.eclipse.gemini.web.extender_2.0.2.RELEASE
116 ACTIVE com.springsource.org.apache.el_7.0.26
117 INSTALLED org.eclipse.equinox.jsp.jasper_1.0.0.v20070607
Jan 18, 2013 11:06:30 AM org.apache.catalina.startup.DigesterFactory register
WARNING: Could not get url for /javax/servlet/resources/j2ee_1_4.xsd
Jan 18, 2013 11:06:30 AM org.apache.catalina.startup.DigesterFactory register
WARNING: Could not get url for /javax/servlet/resources/javaee_5.xsd
Jan 18, 2013 11:06:30 AM org.apache.catalina.startup.DigesterFactory register
WARNING: Could not get url for /javax/servlet/resources/javaee_6.xsd
Jan 18, 2013 11:06:30 AM org.apache.catalina.startup.DigesterFactory register
WARNING: Could not get url for /javax/servlet/resources/xml.xsd
Jan 18, 2013 11:06:30 AM org.apache.catalina.startup.DigesterFactory register
WARNING: Could not get url for /javax/servlet/resources/XMLSchema.dtd
因此,您可以看到,Bundle 107
-com.springsource.org.apache.jasper_7.0.26
处于安装状态,我认为它包含缺少导入的包equinox.jsp.jasper
Bundle-Bundle 117
经过一些研究,我发现,我需要再添加一些捆绑包:-
catalina.osgi(5.5.23-SNAPSHOT)
jasper.osgi(5.5.23-SNAPSHOT)
com.springsource.org.apache.taglibs.standard(1.1.2)
在这些包中,我找到了第三个包,但是我找不到前两个包
有人能看到发生了什么吗。我在什么地方做错什么了吗?还是我错过了添加一些包?在过去的两天里,我一直被困在这个问题上,我想,我根本无法解决这个问题
还有一件事,我认为可能很重要,当我尝试启动我的Web应用程序bundle-bundle 25
时,我收到了这些警告:-
id State Bundle
0 ACTIVE org.eclipse.osgi_3.7.1.R37x_v20110808-1106
6 ACTIVE org.eclipse.persistence.core_2.3.2.v20111125-r10461
10 ACTIVE javax.persistence_2.0.3.v201010191057
12 ACTIVE org.eclipse.persistence.antlr_2.3.2.v20111125-r10461
15 ACTIVE org.eclipse.persistence.jpa.jpql_2.0.1.v20121003-ad44345
16 ACTIVE org.eclipse.persistence.asm_2.3.2.v20111125-r10461
21 ACTIVE org.eclipse.persistence.jpa_2.3.2.v20111125-r10461
25 ACTIVE StockControlSystem_0.0.1
28 ACTIVE javax.annotation_1.1.0.v201105051105
32 ACTIVE org.springframework.core_3.0.5.RELEASE
33 ACTIVE org.springframework.aop_3.0.5.RELEASE
34 ACTIVE com.scs.request_1.0.0.qualifier
35 ACTIVE org.eclipse.virgo.util.common_3.0.1.RELEASE
37 ACTIVE com.scs.order_1.0.0.qualifier
38 ACTIVE org.springframework.osgi.io_1.2.1
41 ACTIVE mysql.jdbc_1.0.0
45 ACTIVE com.springsource.org.apache.tomcat.api_7.0.26
47 ACTIVE org.springframework.osgi.core_1.2.1
48 ACTIVE com.springsource.org.apache.commons.logging_1.1.1
49 ACTIVE com.springsource.org.eclipse.jdt.core.compiler.batch_3.6.1
53 ACTIVE com.scs.persistence_1.0.0.qualifier
55 ACTIVE com.scs.stockdetails_1.0.0.qualifier
58 ACTIVE com.scs.delivery_1.0.0.qualifier
59 ACTIVE org.springframework.beans_3.0.5.RELEASE
60 ACTIVE org.springframework.context_3.0.5.RELEASE
66 ACTIVE joda.time_1.0.0
67 ACTIVE com.springsource.org.aopalliance_1.0.0
71 ACTIVE javax.servlet_3.0.0.v201103241009
72 ACTIVE com.springsource.org.apache.xmlcommons_1.3.4
73 ACTIVE javax.el_2.2.0.v201105051105
74 ACTIVE javax.servlet.jsp_2.2.0.v201103241009
75 ACTIVE com.springsource.javax.servlet.jsp.jstl_1.2.0.v20110728
76 ACTIVE org.eclipse.osgi.services_3.3.0.v20110513
78 ACTIVE com.springsource.javax.xml.soap_1.3.0
80 RESOLVED com.springsource.org.apache.coyote_7.0.26
Master=83
81 ACTIVE com.springsource.javax.activation_1.1.1
82 ACTIVE com.springsource.javax.mail_1.4.0
83 ACTIVE com.springsource.org.apache.catalina_7.0.26
Fragments=80, 88, 95, 97
84 ACTIVE com.springsource.javax.persistence_1.0.0
88 RESOLVED com.springsource.org.apache.catalina.ha_7.0.26
Master=83
92 ACTIVE org.eclipse.virgo.util.parser.manifest_3.0.1.RELEASE
93 ACTIVE com.springsource.org.apache.juli.extras_7.0.26
95 RESOLVED com.springsource.org.apache.catalina.tribes_7.0.26
Master=83
97 RESOLVED com.springsource.org.apache.tomcat.util_7.0.26
Master=83
100 ACTIVE com.springsource.javax.ejb_3.0.0
101 ACTIVE com.springsource.javax.xml.rpc_1.1.0.v20110517
102 ACTIVE org.eclipse.equinox.util_1.0.300.v20110502
103 ACTIVE org.eclipse.equinox.ds_1.3.0.v20110502
104 ACTIVE com.springsource.slf4j.api_1.6.1
Fragments=113
105 ACTIVE org.eclipse.virgo.util.math_3.0.1.RELEASE
106 ACTIVE org.eclipse.virgo.util.io_3.0.1.RELEASE
107 INSTALLED com.springsource.org.apache.jasper_7.0.26
108 ACTIVE com.springsource.javax.transaction_1.1.0
109 ACTIVE org.eclipse.virgo.util.osgi_3.0.1.RELEASE
110 ACTIVE org.eclipse.gemini.web.tomcat_2.0.2.RELEASE
111 ACTIVE org.eclipse.gemini.web.core_2.0.2.RELEASE
112 ACTIVE com.springsource.javax.xml.bind_2.1.7
113 RESOLVED com.springsource.slf4j.nop_1.6.1
Master=104
114 ACTIVE com.springsource.javax.xml.stream_1.0.1
115 ACTIVE org.eclipse.gemini.web.extender_2.0.2.RELEASE
116 ACTIVE com.springsource.org.apache.el_7.0.26
117 INSTALLED org.eclipse.equinox.jsp.jasper_1.0.0.v20070607
Jan 18, 2013 11:06:30 AM org.apache.catalina.startup.DigesterFactory register
WARNING: Could not get url for /javax/servlet/resources/j2ee_1_4.xsd
Jan 18, 2013 11:06:30 AM org.apache.catalina.startup.DigesterFactory register
WARNING: Could not get url for /javax/servlet/resources/javaee_5.xsd
Jan 18, 2013 11:06:30 AM org.apache.catalina.startup.DigesterFactory register
WARNING: Could not get url for /javax/servlet/resources/javaee_6.xsd
Jan 18, 2013 11:06:30 AM org.apache.catalina.startup.DigesterFactory register
WARNING: Could not get url for /javax/servlet/resources/xml.xsd
Jan 18, 2013 11:06:30 AM org.apache.catalina.startup.DigesterFactory register
WARNING: Could not get url for /javax/servlet/resources/XMLSchema.dtd
还有一些类似的警告,但我跳过了,因为警告太多了
我已经添加了很多我认为需要的信息。但是,如果你
需要更多信息,请询问相同的问题。这可能会让您感到不愉快,但如果您使用Pax Web而不是Gemini,它将立即与jsp一起工作
Pax Web可在以下网址找到:
在我看来,就像你在建造一个完整的容器。曾经考虑过使用ApacheKaraf或EclipseVirgo吗?
Karaf也可以使用一个最小的集合,只包含基本内容。首先,片段永远无法启动,因为它们没有自己的生命周期。所以这不是一个真正的错误;你只是不应该尝试开始一个片段
其次,看起来捆绑包117确实失败了,因为缺少包org.apache.jasper.servlet
的导入,这个包可能来自未解析的片段107。因此,挑战在于找出107无法解决的原因。您可以通过键入命令diag 107
,获得有关这方面的线索;这将打印片段的未满意导入列表。感谢@Neil的回复。我在等它。我试过你的命令,它给了我丢失的可选包的列表。因此,我添加了它们。现在,我得到了jasper.servlet
捆绑包的错误列表,如下所示:-来自与主机冲突的片段的约束:Import包:javax.el;version=“[1.0.0,3.0.0)”
。还有很多。如果你愿意的话,我会把它们添加到我的问题中。有什么问题吗?通过一点谷歌搜索,我找到了你的博客帖子-,这真的很有描述性。我跟着那篇帖子,最后,我发现我在运行时有两个版本的软件包。一个来自org.eclipse.osgi
一个来自springsource.xmlcomon
。后来我发现我不需要那个springsource捆绑包,因为捆绑包107
导入的版本是由org.osgi
导出的。因此,我删除了springsource捆绑包。但是,我仍然遇到同样的问题。这次,我找不到任何具有多个版本的包四处游荡。现在我被卡住了。怎么办??(:(哦,天哪。是否可以尝试在Felix上而不是Equinox上运行此操作?Felix对使用约束冲突有更好的诊断消息。解决问题后,您始终可以切换回Equinox。忽略我以前的评论。这不是使用约束冲突。它说约束(即导入)片段的长度与主机冲突。预期的主机捆绑包必须为packagejavax.el
导入不相交的范围。没有很好的解决方法,该片段似乎无效,因为它不应附加到与其不兼容的主机。