You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Charles Moulliard <cm...@gmail.com> on 2010/02/19 13:48:56 UTC

Why javax.*,org.w3c.*,org.xml.* packages NOT versioned in Servicemix 4.x / Fuse 4.2 ?

Hi,

Why the packages javax.*,org.w3c.*,org.xml.* are not versioned in Servicemix
4.x / Fuse 4.2 ?

karaf@root> packages:exports  0

System Bundle (0): com.sun.org.apache.xalan.internal.xsltc.trax;
version=0.0.0
System Bundle (0): com.sun.org.apache.xerces.internal.dom; version=0.0.0
System Bundle (0): com.sun.org.apache.xerces.internal.jaxp; version=0.0.0
System Bundle (0): com.sun.org.apache.xerces.internal.xni; version=0.0.0
System Bundle (0): com.sun.jndi.ldap; version=0.0.0
System Bundle (0): javax.accessibility; version=0.0.0
System Bundle (0): # javax.activation; version=0.0.0
System Bundle (0): javax.activity; version=0.0.0
System Bundle (0): # javax.annotation; version=0.0.0
System Bundle (0): # javax.annotation.processing; version=0.0.0
System Bundle (0): javax.crypto; version=0.0.0
System Bundle (0): javax.crypto.interfaces; version=0.0.0
System Bundle (0): javax.crypto.spec; version=0.0.0
System Bundle (0): javax.imageio; version=0.0.0
System Bundle (0): javax.imageio.event; version=0.0.0
System Bundle (0): javax.imageio.metadata; version=0.0.0
System Bundle (0): javax.imageio.plugins.bmp; version=0.0.0
System Bundle (0): javax.imageio.plugins.jpeg; version=0.0.0
System Bundle (0): javax.imageio.spi; version=0.0.0
System Bundle (0): javax.imageio.stream; version=0.0.0

Because of that we have unresolved dependencies errors when we generate a
MANIFEST file using the version 1.4 of maven-bundle-plugin where the version
of the package is added

Kind regards,

Charles Moulliard
Senior Enterprise Architect
Apache Camel Committer

*****************************
blog : http://cmoulliard.blogspot.com
twitter : http://twitter.com/cmoulliard
Linkedlin : http://www.linkedin.com/in/charlesmoulliard

Apache Camel Group :
http://www.linkedin.com/groups?home=&gid=2447439&trk=anet_ug_hm

Re: Why javax.*,org.w3c.*,org.xml.* packages NOT versioned in Servicemix 4.x / Fuse 4.2 ?

Posted by Eoghan Glynn <eo...@gmail.com>.
Hi Charles,

If they're not explicitly exlcuded by karaf, in Java6 the javax.xml.ws etc.
packages will be pulled in from the JRE rt.jar as system packages.

This causes no end of trouble on Equinox, as system packages are assigned
the version "0.0" whereas many bundles with a dependency on
javax.xml.wsetc. will version constrain the Import-Package entry, for
example with
something like "[2.1.0,3.0.0)". This would lead to a conflict at bundle
resolution time.

Once exlcuded from the system packages, these javax.* packages can instead
be pulled in with an appropriate version from the corresponding specs
bundle.

Cheers,
Eoghan

On 19 February 2010 12:48, Charles Moulliard <cm...@gmail.com> wrote:

> Hi,
>
> Why the packages javax.*,org.w3c.*,org.xml.* are not versioned in
> Servicemix
> 4.x / Fuse 4.2 ?
>
> karaf@root> packages:exports  0
>
> System Bundle (0): com.sun.org.apache.xalan.internal.xsltc.trax;
> version=0.0.0
> System Bundle (0): com.sun.org.apache.xerces.internal.dom; version=0.0.0
> System Bundle (0): com.sun.org.apache.xerces.internal.jaxp; version=0.0.0
> System Bundle (0): com.sun.org.apache.xerces.internal.xni; version=0.0.0
> System Bundle (0): com.sun.jndi.ldap; version=0.0.0
> System Bundle (0): javax.accessibility; version=0.0.0
> System Bundle (0): # javax.activation; version=0.0.0
> System Bundle (0): javax.activity; version=0.0.0
> System Bundle (0): # javax.annotation; version=0.0.0
> System Bundle (0): # javax.annotation.processing; version=0.0.0
> System Bundle (0): javax.crypto; version=0.0.0
> System Bundle (0): javax.crypto.interfaces; version=0.0.0
> System Bundle (0): javax.crypto.spec; version=0.0.0
> System Bundle (0): javax.imageio; version=0.0.0
> System Bundle (0): javax.imageio.event; version=0.0.0
> System Bundle (0): javax.imageio.metadata; version=0.0.0
> System Bundle (0): javax.imageio.plugins.bmp; version=0.0.0
> System Bundle (0): javax.imageio.plugins.jpeg; version=0.0.0
> System Bundle (0): javax.imageio.spi; version=0.0.0
> System Bundle (0): javax.imageio.stream; version=0.0.0
>
> Because of that we have unresolved dependencies errors when we generate a
> MANIFEST file using the version 1.4 of maven-bundle-plugin where the
> version
> of the package is added
>
> Kind regards,
>
> Charles Moulliard
> Senior Enterprise Architect
> Apache Camel Committer
>
> *****************************
> blog : http://cmoulliard.blogspot.com
> twitter : http://twitter.com/cmoulliard
> Linkedlin : http://www.linkedin.com/in/charlesmoulliard
>
> Apache Camel Group :
> http://www.linkedin.com/groups?home=&gid=2447439&trk=anet_ug_hm
>

Re: Why javax.*,org.w3c.*,org.xml.* packages NOT versioned in Servicemix 4.x / Fuse 4.2 ?

Posted by Guillaume Nodet <gn...@gmail.com>.
I suppose the package comes from an osgi bundle and not the JRE.
My bet would be that one:
  http://repo2.maven.org/maven2/org/apache/servicemix/specs/org.apache.servicemix.specs.activation-api-1.1/1.4.0

On Fri, Feb 19, 2010 at 14:54, Charles Moulliard <cm...@gmail.com> wrote:
> Additional question
>
> When we generate the servicemix-camel bundle (
> https://svn.apache.org/repos/asf/servicemix/components/engines/servicemix-camel/trunk/pom.xml),
>
>
>    <servicemix.osgi.import>
>      !org.apache.servicemix.camel*,
>      org.apache.camel.converter,
>      org.apache.camel.converter.jaxp,
>      org.apache.camel.converter.stream,
>      org.apache.servicemix.nmr.core.converter;resolution:=optional,
>      org.apache.commons.jexl*;resolution:=optional,
>      org.apache.servicemix;resolution:=optional,
>      org.apache.servicemix.client*;resolution:=optional,
>      org.apache.servicemix.common,
>      org.apache.servicemix.common.osgi,
>      org.apache.servicemix.components*;resolution:=optional,
>      org.apache.servicemix.expression*;resolution:=optional,
>      org.apache.servicemix.jbi*;resolution:=optional,
>      org.apache.xbean.spring.context.v2,
>      org.springframework.beans.factory.xml,
>      sun.misc;resolution:=optional,
>      *
>    </servicemix.osgi.import>
>
> the following info is added for javax.activation in the MANIFEST.FS file :
>
> Import-Package =
> META-INF.services.org.apache.xbean.spring.http.servicemix.apache.org.camel,javax.activation;version="1.1"
>
> How the maven-bundle-plugin is able to add this number "1.1" ?
>
> Kind regards,
>
> Charles Moulliard
> Senior Enterprise Architect
> Apache Camel Committer
>
> *****************************
> blog : http://cmoulliard.blogspot.com
> twitter : http://twitter.com/cmoulliard
> Linkedlin : http://www.linkedin.com/in/charlesmoulliard
>
> Apache Camel Group :
> http://www.linkedin.com/groups?home=&gid=2447439&trk=anet_ug_hm
>
>
> On Fri, Feb 19, 2010 at 2:19 PM, Guillaume Nodet <gn...@gmail.com> wrote:
>
>> The version numbers for all those packages are not standardized.
>> Everyone can come up with its own numbers ....  Not sure what we can
>> do about that.
>>
>> And you might not want to put versions without being careful.
>> For example the stax-api bundles have a version 1.0.1 (corresponding
>> to the Stax 1.0.1 spec).
>> If you add 1.5, 1.6 because it come from the JRE, it might as well
>> break a lot of applications.
>>
>> That's currently a grey area unfortunately, but there is some ongoing
>> discussion around that in the OSGi alliance.
>>
>> On Fri, Feb 19, 2010 at 13:48, Charles Moulliard <cm...@gmail.com>
>> wrote:
>> > Hi,
>> >
>> > Why the packages javax.*,org.w3c.*,org.xml.* are not versioned in
>> Servicemix
>> > 4.x / Fuse 4.2 ?
>> >
>> > karaf@root> packages:exports  0
>> >
>> > System Bundle (0): com.sun.org.apache.xalan.internal.xsltc.trax;
>> > version=0.0.0
>> > System Bundle (0): com.sun.org.apache.xerces.internal.dom; version=0.0.0
>> > System Bundle (0): com.sun.org.apache.xerces.internal.jaxp; version=0.0.0
>> > System Bundle (0): com.sun.org.apache.xerces.internal.xni; version=0.0.0
>> > System Bundle (0): com.sun.jndi.ldap; version=0.0.0
>> > System Bundle (0): javax.accessibility; version=0.0.0
>> > System Bundle (0): # javax.activation; version=0.0.0
>> > System Bundle (0): javax.activity; version=0.0.0
>> > System Bundle (0): # javax.annotation; version=0.0.0
>> > System Bundle (0): # javax.annotation.processing; version=0.0.0
>> > System Bundle (0): javax.crypto; version=0.0.0
>> > System Bundle (0): javax.crypto.interfaces; version=0.0.0
>> > System Bundle (0): javax.crypto.spec; version=0.0.0
>> > System Bundle (0): javax.imageio; version=0.0.0
>> > System Bundle (0): javax.imageio.event; version=0.0.0
>> > System Bundle (0): javax.imageio.metadata; version=0.0.0
>> > System Bundle (0): javax.imageio.plugins.bmp; version=0.0.0
>> > System Bundle (0): javax.imageio.plugins.jpeg; version=0.0.0
>> > System Bundle (0): javax.imageio.spi; version=0.0.0
>> > System Bundle (0): javax.imageio.stream; version=0.0.0
>> >
>> > Because of that we have unresolved dependencies errors when we generate a
>> > MANIFEST file using the version 1.4 of maven-bundle-plugin where the
>> version
>> > of the package is added
>> >
>> > Kind regards,
>> >
>> > Charles Moulliard
>> > Senior Enterprise Architect
>> > Apache Camel Committer
>> >
>> > *****************************
>> > blog : http://cmoulliard.blogspot.com
>> > twitter : http://twitter.com/cmoulliard
>> > Linkedlin : http://www.linkedin.com/in/charlesmoulliard
>> >
>> > Apache Camel Group :
>> > http://www.linkedin.com/groups?home=&gid=2447439&trk=anet_ug_hm
>> >
>>
>>
>>
>> --
>> Cheers,
>> Guillaume Nodet
>> ------------------------
>> Blog: http://gnodet.blogspot.com/
>> ------------------------
>> Open Source SOA
>> http://fusesource.com
>>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
------------------------
Open Source SOA
http://fusesource.com

Re: Why javax.*,org.w3c.*,org.xml.* packages NOT versioned in Servicemix 4.x / Fuse 4.2 ?

Posted by Charles Moulliard <cm...@gmail.com>.
Additional question

When we generate the servicemix-camel bundle (
https://svn.apache.org/repos/asf/servicemix/components/engines/servicemix-camel/trunk/pom.xml),


    <servicemix.osgi.import>
      !org.apache.servicemix.camel*,
      org.apache.camel.converter,
      org.apache.camel.converter.jaxp,
      org.apache.camel.converter.stream,
      org.apache.servicemix.nmr.core.converter;resolution:=optional,
      org.apache.commons.jexl*;resolution:=optional,
      org.apache.servicemix;resolution:=optional,
      org.apache.servicemix.client*;resolution:=optional,
      org.apache.servicemix.common,
      org.apache.servicemix.common.osgi,
      org.apache.servicemix.components*;resolution:=optional,
      org.apache.servicemix.expression*;resolution:=optional,
      org.apache.servicemix.jbi*;resolution:=optional,
      org.apache.xbean.spring.context.v2,
      org.springframework.beans.factory.xml,
      sun.misc;resolution:=optional,
      *
    </servicemix.osgi.import>

the following info is added for javax.activation in the MANIFEST.FS file :

Import-Package =
META-INF.services.org.apache.xbean.spring.http.servicemix.apache.org.camel,javax.activation;version="1.1"

How the maven-bundle-plugin is able to add this number "1.1" ?

Kind regards,

Charles Moulliard
Senior Enterprise Architect
Apache Camel Committer

*****************************
blog : http://cmoulliard.blogspot.com
twitter : http://twitter.com/cmoulliard
Linkedlin : http://www.linkedin.com/in/charlesmoulliard

Apache Camel Group :
http://www.linkedin.com/groups?home=&gid=2447439&trk=anet_ug_hm


On Fri, Feb 19, 2010 at 2:19 PM, Guillaume Nodet <gn...@gmail.com> wrote:

> The version numbers for all those packages are not standardized.
> Everyone can come up with its own numbers ....  Not sure what we can
> do about that.
>
> And you might not want to put versions without being careful.
> For example the stax-api bundles have a version 1.0.1 (corresponding
> to the Stax 1.0.1 spec).
> If you add 1.5, 1.6 because it come from the JRE, it might as well
> break a lot of applications.
>
> That's currently a grey area unfortunately, but there is some ongoing
> discussion around that in the OSGi alliance.
>
> On Fri, Feb 19, 2010 at 13:48, Charles Moulliard <cm...@gmail.com>
> wrote:
> > Hi,
> >
> > Why the packages javax.*,org.w3c.*,org.xml.* are not versioned in
> Servicemix
> > 4.x / Fuse 4.2 ?
> >
> > karaf@root> packages:exports  0
> >
> > System Bundle (0): com.sun.org.apache.xalan.internal.xsltc.trax;
> > version=0.0.0
> > System Bundle (0): com.sun.org.apache.xerces.internal.dom; version=0.0.0
> > System Bundle (0): com.sun.org.apache.xerces.internal.jaxp; version=0.0.0
> > System Bundle (0): com.sun.org.apache.xerces.internal.xni; version=0.0.0
> > System Bundle (0): com.sun.jndi.ldap; version=0.0.0
> > System Bundle (0): javax.accessibility; version=0.0.0
> > System Bundle (0): # javax.activation; version=0.0.0
> > System Bundle (0): javax.activity; version=0.0.0
> > System Bundle (0): # javax.annotation; version=0.0.0
> > System Bundle (0): # javax.annotation.processing; version=0.0.0
> > System Bundle (0): javax.crypto; version=0.0.0
> > System Bundle (0): javax.crypto.interfaces; version=0.0.0
> > System Bundle (0): javax.crypto.spec; version=0.0.0
> > System Bundle (0): javax.imageio; version=0.0.0
> > System Bundle (0): javax.imageio.event; version=0.0.0
> > System Bundle (0): javax.imageio.metadata; version=0.0.0
> > System Bundle (0): javax.imageio.plugins.bmp; version=0.0.0
> > System Bundle (0): javax.imageio.plugins.jpeg; version=0.0.0
> > System Bundle (0): javax.imageio.spi; version=0.0.0
> > System Bundle (0): javax.imageio.stream; version=0.0.0
> >
> > Because of that we have unresolved dependencies errors when we generate a
> > MANIFEST file using the version 1.4 of maven-bundle-plugin where the
> version
> > of the package is added
> >
> > Kind regards,
> >
> > Charles Moulliard
> > Senior Enterprise Architect
> > Apache Camel Committer
> >
> > *****************************
> > blog : http://cmoulliard.blogspot.com
> > twitter : http://twitter.com/cmoulliard
> > Linkedlin : http://www.linkedin.com/in/charlesmoulliard
> >
> > Apache Camel Group :
> > http://www.linkedin.com/groups?home=&gid=2447439&trk=anet_ug_hm
> >
>
>
>
> --
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> ------------------------
> Open Source SOA
> http://fusesource.com
>

Re: Why javax.*,org.w3c.*,org.xml.* packages NOT versioned in Servicemix 4.x / Fuse 4.2 ?

Posted by Guillaume Nodet <gn...@gmail.com>.
The version numbers for all those packages are not standardized.
Everyone can come up with its own numbers ....  Not sure what we can
do about that.

And you might not want to put versions without being careful.
For example the stax-api bundles have a version 1.0.1 (corresponding
to the Stax 1.0.1 spec).
If you add 1.5, 1.6 because it come from the JRE, it might as well
break a lot of applications.

That's currently a grey area unfortunately, but there is some ongoing
discussion around that in the OSGi alliance.

On Fri, Feb 19, 2010 at 13:48, Charles Moulliard <cm...@gmail.com> wrote:
> Hi,
>
> Why the packages javax.*,org.w3c.*,org.xml.* are not versioned in Servicemix
> 4.x / Fuse 4.2 ?
>
> karaf@root> packages:exports  0
>
> System Bundle (0): com.sun.org.apache.xalan.internal.xsltc.trax;
> version=0.0.0
> System Bundle (0): com.sun.org.apache.xerces.internal.dom; version=0.0.0
> System Bundle (0): com.sun.org.apache.xerces.internal.jaxp; version=0.0.0
> System Bundle (0): com.sun.org.apache.xerces.internal.xni; version=0.0.0
> System Bundle (0): com.sun.jndi.ldap; version=0.0.0
> System Bundle (0): javax.accessibility; version=0.0.0
> System Bundle (0): # javax.activation; version=0.0.0
> System Bundle (0): javax.activity; version=0.0.0
> System Bundle (0): # javax.annotation; version=0.0.0
> System Bundle (0): # javax.annotation.processing; version=0.0.0
> System Bundle (0): javax.crypto; version=0.0.0
> System Bundle (0): javax.crypto.interfaces; version=0.0.0
> System Bundle (0): javax.crypto.spec; version=0.0.0
> System Bundle (0): javax.imageio; version=0.0.0
> System Bundle (0): javax.imageio.event; version=0.0.0
> System Bundle (0): javax.imageio.metadata; version=0.0.0
> System Bundle (0): javax.imageio.plugins.bmp; version=0.0.0
> System Bundle (0): javax.imageio.plugins.jpeg; version=0.0.0
> System Bundle (0): javax.imageio.spi; version=0.0.0
> System Bundle (0): javax.imageio.stream; version=0.0.0
>
> Because of that we have unresolved dependencies errors when we generate a
> MANIFEST file using the version 1.4 of maven-bundle-plugin where the version
> of the package is added
>
> Kind regards,
>
> Charles Moulliard
> Senior Enterprise Architect
> Apache Camel Committer
>
> *****************************
> blog : http://cmoulliard.blogspot.com
> twitter : http://twitter.com/cmoulliard
> Linkedlin : http://www.linkedin.com/in/charlesmoulliard
>
> Apache Camel Group :
> http://www.linkedin.com/groups?home=&gid=2447439&trk=anet_ug_hm
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
------------------------
Open Source SOA
http://fusesource.com