You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Hendy Irawan (JIRA)" <ji...@apache.org> on 2009/03/06 17:57:56 UTC
[jira] Commented: (CXF-2091) CXF Bundle is hardly usable under OSGi
[ https://issues.apache.org/jira/browse/CXF-2091?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12679648#action_12679648 ]
Hendy Irawan commented on CXF-2091:
-----------------------------------
Spelling correction:
The cause is because it's very strict in its Import-Package manifest, version **constraint**.
> CXF Bundle is hardly usable under OSGi
> --------------------------------------
>
> Key: CXF-2091
> URL: https://issues.apache.org/jira/browse/CXF-2091
> Project: CXF
> Issue Type: Bug
> Components: OSGi
> Affects Versions: 2.1.4
> Environment: Equinox
> Reporter: Hendy Irawan
>
> CXF-Bundle is really hard to use.
> The cause is because it's very strict in its Import-Package manifest, version constract. Especially in packages that are provided by default in say, JDK 6, but not exported with version by Equinox.
> For example the: Import-Package: javax.xml.stream; version="1.0.0" results in the following error
> osgi> start 81
> org.osgi.framework.BundleException: The bundle could not be resolved. Reason: Missing Constraint: Import-Package: javax.xml.stream; version="1.0.0"
> at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:305)
> at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:265)
> at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:257)
> at org.eclipse.osgi.framework.internal.core.FrameworkCommandProvider._start(FrameworkCommandProvider.java:257)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.eclipse.osgi.framework.internal.core.FrameworkCommandInterpreter.execute(FrameworkCommandInterpreter.java:150)
> at org.eclipse.osgi.framework.internal.core.FrameworkConsole.docommand(FrameworkConsole.java:302)
> at org.eclipse.osgi.framework.internal.core.FrameworkConsole.console(FrameworkConsole.java:287)
> at org.eclipse.osgi.framework.internal.core.FrameworkConsole.run(FrameworkConsole.java:223)
> at java.lang.Thread.run(Thread.java:619)
> Which happens because Equinox somehow exports the package without version:
> osgi> p javax.xml.stream
> javax.xml.stream; version="0.0.0"<System Bundle [0]>
> initial@reference:file:plugins/org.eclipse.update.configurator.jar/ [2] imports
> /.../target/work/webapp/WEB-INF/load/org.apache.servicemix.bundles.neethi-2.0.4_1.jar [55] imports
> Note that Neethi packaged by ServiceMix has no problem importing it.
> I would vote for these solutions/workarounds:
> * remove the version requirement of Import-Package, of all JDK(6) packages
> * remove the version requirement for all "1.0.0" packages, or change it to "[0.0.0,2.0.0)" which means "anything before version 2.0.0, which I think is a more practical interpretation of require-version-1.0"
> * document where to find the rest of dependencies (OSGi bundles, not plain Java JARs). I have to search through : http://servicemix.apache.org/SMX4/bundles-repository.html , ServiceMix specs, Geronimo specs, and SpringSource Repository and mix and match between them... nightmare :-(
> Also important: Even if I can find those bundles, simply installing (e.g. javax.*) bundles which has the proper exported version is usually not enough, because these packages are already exported by system bundle... these packages will have two suppliers.... resulting in "uses conflict" errors. Happens to my case. :-(
> osgi> b 81
> /.../target/work/webapp/WEB-INF/load/cxf-bundle-jaxrs-2.1.4.jar [81]
> Id=81, Status=INSTALLED Data Root=/.../target/work/eclipse/configuration/org.eclipse.osgi/bundles/81/data
> No registered services.
> No services in use.
> Exported packages
> org.apache.cxf.configuration.jsse; version="2.1.4"[exported]
> org.apache.cxf.jaxrs.utils; version="2.1.4"[exported]
> org.apache.cxf.service.invoker; version="2.1.4"[exported]
> org.codehaus.xfire.aegis.type.java5; version="0.0.0"[exported]
> org.apache.cxf.binding.xml; version="2.1.4"[exported]
> org.apache.cxf.configuration.security; version="2.1.4"[exported]
> org.apache.cxf.bus.spring; version="2.1.4"[exported]
> org.apache.cxf.clustering.spring; version="2.1.4"[exported]
> org.apache.cxf.jaxrs.utils.schemas; version="2.1.4"[exported]
> org.apache.cxf.management.annotation; version="2.1.4"[exported]
> org.apache.cxf.transport.http.gzip; version="2.1.4"[exported]
> org.apache.cxf.aegis.util; version="2.1.4"[exported]
> org.apache.cxf.transport.https; version="2.1.4"[exported]
> org.apache.cxf.binding.soap.wsdl11; version="2.1.4"[exported]
> org.apache.cxf.resource; version="2.1.4"[exported]
> org.apache.cxf.jaxb; version="2.1.4"[exported]
> org.apache.cxf.transports.http_jetty.configuration; version="2.1.4"[exported]
> org.apache.cxf.workqueue; version="2.1.4"[exported]
> org.apache.cxf.databinding; version="2.1.4"[exported]
> org.apache.cxf.endpoint; version="2.1.4"[exported]
> org.apache.cxf.jaxrs.provider; version="2.1.4"[exported]
> org.apache.cxf.aegis.xml.stax; version="2.1.4"[exported]
> org.apache.cxf.databinding.source; version="2.1.4"[exported]
> org.apache.cxf.tools.validator; version="2.1.4"[exported]
> org.apache.cxf.jaxrs.utils.multipart; version="2.1.4"[exported]
> org.apache.cxf.binding.soap.saaj; version="2.1.4"[exported]
> org.apache.cxf.aegis.type.encoded; version="2.1.4"[exported]
> org.apache.cxf.transport.http.spring; version="2.1.4"[exported]
> org.apache.cxf.ws.addressing.v200403; version="2.1.4"[exported]
> org.apache.cxf.bus; version="2.1.4"[exported]
> org.apache.cxf.frontend.spring; version="2.1.4"[exported]
> org.apache.cxf.common.annotation; version="2.1.4"[exported]
> org.apache.cxf.security.transport; version="2.1.4"[exported]
> org.apache.cxf.feature; version="2.1.4"[exported]
> org.apache.cxf.phase; version="2.1.4"[exported]
> org.apache.cxf.configuration.jsse.spring; version="2.1.4"[exported]
> org.apache.cxf.binding.xml.wsdl11; version="2.1.4"[exported]
> org.apache.cxf.attachment; version="2.1.4"[exported]
> org.apache.cxf.jaxb.io; version="2.1.4"[exported]
> org.apache.cxf.version; version="2.1.4"[exported]
> org.apache.cxf.tools.common; version="2.1.4"[exported]
> org.apache.cxf.binding; version="2.1.4"[exported]
> org.apache.cxf.aegis.type.java5; version="2.1.4"[exported]
> org.apache.cxf.endpoint.dynamic; version="2.1.4"[exported]
> org.apache.cxf.ws.addressing.v200408; version="2.1.4"[exported]
> org.apache.cxf.event; version="2.1.4"[exported]
> org.apache.cxf.tools.common.dom; version="2.1.4"[exported]
> org.apache.cxf.common.commands; version="2.1.4"[exported]
> org.apache.cxf.binding.xml.interceptor; version="2.1.4"[exported]
> org.apache.cxf.jca.outbound; version="2.1.4"[exported]
> org.apache.cxf.service.model; version="2.1.4"[exported]
> org.apache.cxf.simple; version="2.1.4"[exported]
> org.apache.cxf.interceptor; version="2.1.4"[exported]
> org.apache.cxf.transport; version="2.1.4"[exported]
> org.apache.cxf.management; version="2.1.4"[exported]
> org.apache.cxf.common.xmlschema; version="2.1.4"[exported]
> org.apache.cxf.configuration; version="2.1.4"[exported]
> org.apache.cxf.jaxrs.lifecycle; version="2.1.4"[exported]
> org.apache.cxf.binding.soap; version="2.1.4"[exported]
> org.apache.cxf.aegis.util.date; version="2.1.4"[exported]
> org.apache.cxf; version="2.1.4"[exported]
> org.apache.cxf.clustering; version="2.1.4"[exported]
> org.apache.cxf.transport.http_jetty.spring; version="2.1.4"[exported]
> org.apache.cxf.security; version="2.1.4"[exported]
> org.apache.cxf.staxutils; version="2.1.4"[exported]
> org.apache.cxf.helpers; version="2.1.4"[exported]
> org.apache.cxf.headers; version="2.1.4"[exported]
> org.apache.cxf.transport.http_jetty; version="2.1.4"[exported]
> org.apache.cxf.tools.common.extensions.soap; version="2.1.4"[exported]
> org.apache.cxf.jaxb.attachment; version="2.1.4"[exported]
> org.apache.cxf.frontend; version="2.1.4"[exported]
> org.apache.cxf.common.i18n; version="2.1.4"[exported]
> org.apache.cxf.bindings.xformat; version="2.1.4"[exported]
> org.apache.cxf.ws.policy.builder.primitive; version="2.1.4"[exported]
> org.apache.cxf.service.factory; version="2.1.4"[exported]
> org.apache.cxf.jaxrs.model; version="2.1.4"[exported]
> org.apache.cxf.jaxrs.impl; version="2.1.4"[exported]
> META-INF.cxf; version="0.0.0"[exported]
> org.apache.cxf.aegis.type.mtom; version="2.1.4"[exported]
> org.apache.cxf.ws.policy; version="2.1.4"[exported]
> org.apache.cxf.transport.http; version="2.1.4"[exported]
> org.apache.cxf.ws.policy.builder.xml; version="2.1.4"[exported]
> org.apache.cxf.jaxrs.ext; version="2.1.4"[exported]
> org.apache.cxf.transports.http; version="2.1.4"[exported]
> org.apache.cxf.aegis.type.basic; version="2.1.4"[exported]
> org.apache.cxf.buslifecycle; version="2.1.4"[exported]
> org.apache.cxf.wsdl.http; version="2.1.4"[exported]
> org.apache.cxf.bus.extension; version="2.1.4"[exported]
> org.apache.cxf.tools.util; version="2.1.4"[exported]
> org.apache.cxf.common.classloader; version="2.1.4"[exported]
> org.apache.cxf.ws.policy.util; version="2.1.4"[exported]
> org.apache.cxf.jaxrs; version="2.1.4"[exported]
> org.apache.cxf.common.injection; version="2.1.4"[exported]
> org.apache.cxf.configuration.spring; version="2.1.4"[exported]
> org.apache.cxf.jaxrs.interceptor; version="2.1.4"[exported]
> org.apache.cxf.aegis.type.collection; version="2.1.4"[exported]
> org.apache.cxf.wsdl11; version="2.1.4"[exported]
> org.apache.cxf.transport.http.policy; version="2.1.4"[exported]
> org.apache.cxf.transport.servlet; version="2.1.4"[exported]
> org.apache.cxf.common.logging; version="2.1.4"[exported]
> org.apache.cxf.catalog; version="2.1.4"[exported]
> org.apache.cxf.tools.common.model; version="2.1.4"[exported]
> org.apache.cxf.aegis.databinding; version="2.1.4"[exported]
> org.apache.cxf.aegis; version="2.1.4"[exported]
> org.apache.cxf.extension; version="2.1.4"[exported]
> org.apache.cxf.transport.https_jetty; version="2.1.4"[exported]
> org.apache.cxf.binding.soap.spring; version="2.1.4"[exported]
> org.apache.cxf.message; version="2.1.4"[exported]
> org.apache.cxf.common.util; version="2.1.4"[exported]
> org.apache.cxf.binding.soap.interceptor; version="2.1.4"[exported]
> org.apache.cxf.tools.common.toolspec; version="2.1.4"[exported]
> org.apache.cxf.aegis.util.jdom; version="2.1.4"[exported]
> org.apache.cxf.ws.addressing; version="2.1.4"[exported]
> org.apache.cxf.aegis.util.stax; version="2.1.4"[exported]
> org.apache.cxf.service; version="2.1.4"[exported]
> org.apache.cxf.wsdl; version="2.1.4"[exported]
> org.apache.cxf.aegis.xml.jdom; version="2.1.4"[exported]
> org.apache.cxf.databinding.stax; version="2.1.4"[exported]
> org.apache.cxf.test; version="2.1.4"[exported]
> org.apache.cxf.binding.soap.model; version="2.1.4"[exported]
> org.apache.cxf.jaxrs.ext.multipart; version="2.1.4"[exported]
> org.apache.cxf.tools.common.toolspec.parser; version="2.1.4"[exported]
> org.apache.cxf.aegis.type.xml; version="2.1.4"[exported]
> org.apache.cxf.aegis.xml; version="2.1.4"[exported]
> org.apache.cxf.databinding.source.mime; version="2.1.4"[exported]
> org.apache.cxf.bus.resource; version="2.1.4"[exported]
> org.apache.cxf.aegis.type; version="2.1.4"[exported]
> org.apache.cxf.jaxrs.impl.tl; version="2.1.4"[exported]
> org.apache.cxf.io; version="2.1.4"[exported]
> org.apache.cxf.jaxrs.spring; version="2.1.4"[exported]
> org.apache.cxf.transport.http_jetty.continuations; version="2.1.4"[exported]
> org.apache.cxf.ws.policy.builder.jaxb; version="2.1.4"[exported]
> org.apache.cxf.ws.addressing.wsdl; version="2.1.4"[exported]
> org.apache.cxf.transports.http.configuration; version="2.1.4"[exported]
> org.apache.cxf.continuations; version="2.1.4"[exported]
> No imported packages
> No fragment bundles
> No named class spaces
> No required bundles
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.