Hi,

The javax.portlet bundle you show has not versioned the package exports, so the 
version defaults to 0. The package import looks to require 2 or higher which 
doesn't match 0. I suspect, if you own the javax.portlet bundle specifying the 
package export version is the best solution for what you want to do.

Alasdair Nottingham

On 20 Jun 2010, at 15:45, Miroslav Šulc <[email protected]> wrote:

> hello,
> 
> i'm still pretty new to osgi so solution of my problem might be trivial,
> but i cannot see it. i created a bundle for javax.portlet package (and
> some other packages), but some of them are failing with "ERROR:
> org.osgi.framework,version=1.5 -- Cannot be resolved" (this is what is
> displayed at webconsole). i have in total 15 bundles in the app atm, 10
> are in active state, the rest failing because of resolution issue. in
> log i can see this for javax.porlet bundle:
> 
> 2010-06-20 16:29:44.959 ERROR [bundle: org.apache.felix.http.bridge
> 40/http-8080-5]
> org.apache.felix.http.base.internal.logger.LogServiceLogger:log(30) -
> %bundles.pluginTitle: Cannot start
> org.osgi.framework.BundleException: Unresolved constraint in bundle
> javax.portlet [3]: package;
> (&(package=javax.portlet.filter)(version>=2.0.0))
>        at org.apache.felix.framework.Felix.resolveBundle(Felix.java:3299)
>        at org.apache.felix.framework.Felix.startBundle(Felix.java:1657)
>        at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:905)
>        at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:892)
>        at
> org.apache.felix.webconsole.internal.core.BundlesServlet.doPost(BundlesServlet.java:325)
>        at javax.servlet.http.HttpServlet.service(Unknown Source)
>        at javax.servlet.http.HttpServlet.service(Unknown Source)
>        at
> org.apache.felix.webconsole.internal.servlet.OsgiManager.service(OsgiManager.java:367)
>        at
> org.apache.felix.http.base.internal.handler.ServletHandler.doHandle(ServletHandler.java:91)
>        at
> org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:77)
>        at
> org.apache.felix.http.base.internal.dispatch.ServletPipeline.handle(ServletPipeline.java:42)
>        at
> org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:49)
>        at
> org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
>        at
> org.apache.felix.http.base.internal.dispatch.FilterPipeline.dispatch(FilterPipeline.java:48)
>        at
> org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:39)
>        at
> org.apache.felix.http.base.internal.DispatcherServlet.service(DispatcherServlet.java:55)
>        at javax.servlet.http.HttpServlet.service(Unknown Source)
>        at
> org.apache.felix.http.proxy.ProxyServlet.service(ProxyServlet.java:60)
>        at javax.servlet.http.HttpServlet.service(Unknown Source)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Unknown
> Source)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown Source)
>        at org.apache.catalina.core.StandardWrapperValve.invoke(Unknown
> Source)
>        at org.apache.catalina.core.StandardContextValve.invoke(Unknown
> Source)
>        at org.apache.catalina.core.StandardHostValve.invoke(Unknown Source)
>        at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown
> Source)
>        at org.apache.catalina.core.StandardEngineValve.invoke(Unknown
> Source)
>        at org.apache.catalina.connector.CoyoteAdapter.service(Unknown
> Source)
>        at org.apache.coyote.http11.Http11Processor.process(Unknown Source)
>        at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Unknown
> Source)
>        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(Unknown Source)
>        at java.lang.Thread.run(Thread.java:619)
> 
> 
> here is what webconsole displays about the bundle:
> 
> javax.portlet Bundle (javax.portlet)
> Symbolic Name         javax.portlet
> Version       2.0.0
> Bundle Location
> jndi:/localhost/price-checker-1.0-SNAPSHOT/WEB-INF/bundles/javax.portlet-2.0.jar
> 
> Last Modification     Sun Jun 20 16:04:14 CEST 2010
> Bundle Documentation  website <http://www.startnet.biz/>
> Vendor        company
> Start Level   1
> Bundle Classpath      .,portlet-api-2.0.jar
> Exported Packages     javax.portlet
> javax.portlet.filter
> Imported Packages     javax.servlet.http from org.apache.felix.framework
> (0)
> <http://localhost:8080/price-checker-1.0-SNAPSHOT/system/console/bundles/0>
> javax.xml.namespace from org.apache.felix.framework (0)
> <http://localhost:8080/price-checker-1.0-SNAPSHOT/system/console/bundles/0>
> ERROR: org.osgi.framework,version=1.5 -- Cannot be resolved
> org.w3c.dom from org.apache.felix.framework (0)
> <http://localhost:8080/price-checker-1.0-SNAPSHOT/system/console/bundles/0>
> Manifest Headers      Bnd-LastModified: 1277042514239
> Build-Jdk: 1.6.0_20
> Built-By: fordfrog
> Bundle-Activator: javax.portlet.impl.Activator
> Bundle-ClassPath: ., portlet-api-2.0.jar
> Bundle-DocURL: website
> Bundle-ManifestVersion: 2
> Bundle-Name: javax.portlet Bundle
> Bundle-SymbolicName: javax.portlet
> Bundle-Vendor: company
> Bundle-Version: 2.0.0
> Created-By: Apache Maven Bundle Plugin
> Embed-Dependency: portlet-api
> Export-Package: javax.portlet; uses:="javax.xml.namespace,
> javax.servlet.http, org.w3c.dom", javax.portlet.filter;
> uses:="javax.portlet, javax.xml.namespace, javax.servlet.http, org.w3c.dom"
> Import-Package: javax.portlet; version="2.0", javax.portlet.filter;
> version="2.0", javax.servlet.http, javax.xml.namespace,
> org.osgi.framework; version="1.5", org.w3c.dom
> Manifest-Version: 1.0
> Tool: Bnd-0.0.357
> 
>       2.0.0
> 
> 
> anyone has an idea what i am doing wrong?
> 
> thx for any hints.
> 
> miroslav

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to