You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@karaf.apache.org by Oliver Wulff <ow...@talend.com> on 2019/02/26 08:59:55 UTC

JAXB 2.2 and 2.3 in Karaf 4.1.5

Hi there


Recently I run into an issue with OpenAPI implemenation (Swagger3 2.0.6) due to a dependency to JAXB 2.3 in Karaf 4.1.5. Some bundles require version 2.2 and Swagger 3 2.0.6 requires JAXB 2.3. This was the error message:


>>>

org.apache.karaf.features.internal.util.MultiException: Error restarting bundles:
Could not resolve module: party-api-service-wsdl [338]
  Bundle was not resolved because of a uses contraint violation.
  org.osgi.service.resolver.ResolutionException: Uses constraint violation. Unable to resolve resource party-api-service-wsdl [osgi.identity; osgi.identity="party-api-service-wsdl"; type="osgi.bundle"; version:Version="1.0.3.SNAPSHOT"] because it is exposed to package 'javax.xml.bind' from resources org.apache.servicemix.specs.jaxb-api-2.3 [osgi.identity; osgi.identity="org.apache.servicemix.specs.jaxb-api-2.3"; type="osgi.bundle"; version:Version="2.3.0.1"] and org.eclipse.osgi [osgi.identity; osgi.identity="org.eclipse.osgi"; type="osgi.bundle"; version:Version="3.12.50.v20170928-1321"; singleton:="true"] via two dependency chains.

>>>


I saw that Karaf 4.2.3 supports JAXB 2.3. Is JAXB 2.2 still supported or is it not possible to support both JAXB version in one Karaf runtime? IMHO, it should be sufficient to ensure that the import defintion enforces a version number to properly resolve it. But maybe I miss something.


Instead of something like this:

Import-Package =
javax.xml.bind;version="[2.2,3)",
javax.xml.bind.annotation;version="[2.2,3)",
javax.xml.bind.annotation.adapters;version="[2.2,3)",



I should have this:

Import-Package =
javax.xml.bind;version="[2.2,2.3)",
javax.xml.bind.annotation;version="[2.2,2.3)",
javax.xml.bind.annotation.adapters;version="[2.2,2.3)",

The only solution at the moment is to use Swagger3 2.0.0 (which doesn't have the JAXB 2.3 dependency) but I might run into another issue due to the lack of bug fixes in Swagger3 2.0.x.


Thanks a lot for your feedback

Oliver

As a recipient of an email from Talend, your contact personal data will be on our systems. Please see our contacts privacy notice at Talend, Inc. <https://www.talend.com/contacts-privacy-policy/>



Re: JAXB 2.2 and 2.3 in Karaf 4.1.5

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
If the headers are clean, yes it should work.

Le 26 févr. 2019 à 10:41, à 10:41, Oliver Wulff <ow...@talend.com> a écrit:
>Hi JB
>
>
>Will it also work to deploy JAXB 2.2 and 2.3 in Karaf 4.1.5 when I
>ensure that the import headers are correct?
>
>
>Thanks
>
>Oli
>
>________________________________
>Von: Jean-Baptiste Onofré <jb...@nanthrax.net>
>Gesendet: Dienstag, 26. Februar 2019 10:03:14
>An: user@karaf.apache.org
>Betreff: Re: JAXB 2.2 and 2.3 in Karaf 4.1.5
>
>Hi Oliver,
>
>yes you can still install JAXB 2.2 bundle (or via feature).
>
>Regards
>JB
>
>On 26/02/2019 09:59, Oliver Wulff wrote:
>> Hi there
>>
>>
>> Recently I run into an issue with OpenAPI implemenation (Swagger3
>2.0.6)
>> due to a dependency to JAXB 2.3 in Karaf 4.1.5. Some bundles require
>> version 2.2 and Swagger 3 2.0.6 requires JAXB 2.3. This was the error
>> message:
>>
>>
>>>>>
>>
>> org.apache.karaf.features.internal.util.MultiException: Error
>restarting
>> bundles:
>> Could not resolve module: party-api-service-wsdl [338]
>>   Bundle was not resolved because of a uses contraint violation.
>>   org.osgi.service.resolver.ResolutionException: Uses constraint
>> violation. Unable to resolve resource party-api-service-wsdl
>> [osgi.identity; osgi.identity="party-api-service-wsdl";
>> type="osgi.bundle"; version:Version="1.0.3.SNAPSHOT"] because it is
>> exposed to package 'javax.xml.bind' from resources
>> org.apache.servicemix.specs.jaxb-api-2.3 [osgi.identity;
>> osgi.identity="org.apache.servicemix.specs.jaxb-api-2.3";
>> type="osgi.bundle"; version:Version="2.3.0.1"] and org.eclipse.osgi
>> [osgi.identity; osgi.identity="org.eclipse.osgi"; type="osgi.bundle";
>> version:Version="3.12.50.v20170928-1321"; singleton:="true"] via two
>> dependency chains.
>>
>>>>>
>>
>>
>> I saw that Karaf 4.2.3 supports JAXB 2.3. Is JAXB 2.2 still supported
>or
>> is it not possible to support both JAXB version in one Karaf runtime?
>> IMHO, it should be sufficient to ensure that the import defintion
>> enforces a version number to properly resolve it. But maybe I miss
>> something.
>>
>>
>> Instead of something like this:
>>
>> Import-Package =
>> javax.xml.bind;version="[2.2,3)",
>> javax.xml.bind.annotation;version="[2.2,3)",
>> javax.xml.bind.annotation.adapters;version="[2.2,3)",
>>
>>
>> I should have this:
>>
>> Import-Package =
>> javax.xml.bind;version="[2.2,2.3)",
>> javax.xml.bind.annotation;version="[2.2,2.3)",
>> javax.xml.bind.annotation.adapters;version="[2.2,2.3)",
>>
>> The only solution at the moment is to use Swagger3 2.0.0 (which
>doesn't
>> have the JAXB 2.3 dependency) but I might run into another issue due
>to
>> the lack of bug fixes in Swagger3 2.0.x.
>>
>> Thanks a lot for your feedback
>>
>> Oliver
>>
>> As a recipient of an email from Talend, your contact personal data
>will
>> be on our systems. Please see our contacts privacy notice at Talend,
>> Inc. <https://www.talend.com/contacts-privacy-policy/>
>>
>>
>>
>
>--
>Jean-Baptiste Onofré
>jbonofre@apache.org
>https://urldefense.proofpoint.com/v2/url?u=http-3A__blog.nanthrax.net&d=DwID-g&c=2w5q_42kFG40MI2alLPgJw&r=MY8HqKKGyKRbsN_hT9rg7mHAgu8X3kX4hI5WsyoHqi0&m=tXy6S7NX20WRtsa94lub4joq_v7hqPl_8HFV9VuSKHo&s=NoXtLnQzdbJoWG1JcLOnRrtLAZCKIltq8jDxvsA_4NU&e=
>Talend - http://www.talend.com

AW: JAXB 2.2 and 2.3 in Karaf 4.1.5

Posted by Oliver Wulff <ow...@talend.com>.
Hi JB


Will it also work to deploy JAXB 2.2 and 2.3 in Karaf 4.1.5 when I ensure that the import headers are correct?


Thanks

Oli

________________________________
Von: Jean-Baptiste Onofré <jb...@nanthrax.net>
Gesendet: Dienstag, 26. Februar 2019 10:03:14
An: user@karaf.apache.org
Betreff: Re: JAXB 2.2 and 2.3 in Karaf 4.1.5

Hi Oliver,

yes you can still install JAXB 2.2 bundle (or via feature).

Regards
JB

On 26/02/2019 09:59, Oliver Wulff wrote:
> Hi there
>
>
> Recently I run into an issue with OpenAPI implemenation (Swagger3 2.0.6)
> due to a dependency to JAXB 2.3 in Karaf 4.1.5. Some bundles require
> version 2.2 and Swagger 3 2.0.6 requires JAXB 2.3. This was the error
> message:
>
>
>>>>
>
> org.apache.karaf.features.internal.util.MultiException: Error restarting
> bundles:
> Could not resolve module: party-api-service-wsdl [338]
>   Bundle was not resolved because of a uses contraint violation.
>   org.osgi.service.resolver.ResolutionException: Uses constraint
> violation. Unable to resolve resource party-api-service-wsdl
> [osgi.identity; osgi.identity="party-api-service-wsdl";
> type="osgi.bundle"; version:Version="1.0.3.SNAPSHOT"] because it is
> exposed to package 'javax.xml.bind' from resources
> org.apache.servicemix.specs.jaxb-api-2.3 [osgi.identity;
> osgi.identity="org.apache.servicemix.specs.jaxb-api-2.3";
> type="osgi.bundle"; version:Version="2.3.0.1"] and org.eclipse.osgi
> [osgi.identity; osgi.identity="org.eclipse.osgi"; type="osgi.bundle";
> version:Version="3.12.50.v20170928-1321"; singleton:="true"] via two
> dependency chains.
>
>>>>
>
>
> I saw that Karaf 4.2.3 supports JAXB 2.3. Is JAXB 2.2 still supported or
> is it not possible to support both JAXB version in one Karaf runtime?
> IMHO, it should be sufficient to ensure that the import defintion
> enforces a version number to properly resolve it. But maybe I miss
> something.
>
>
> Instead of something like this:
>
> Import-Package =
> javax.xml.bind;version="[2.2,3)",
> javax.xml.bind.annotation;version="[2.2,3)",
> javax.xml.bind.annotation.adapters;version="[2.2,3)",
>
>
> I should have this:
>
> Import-Package =
> javax.xml.bind;version="[2.2,2.3)",
> javax.xml.bind.annotation;version="[2.2,2.3)",
> javax.xml.bind.annotation.adapters;version="[2.2,2.3)",
>
> The only solution at the moment is to use Swagger3 2.0.0 (which doesn't
> have the JAXB 2.3 dependency) but I might run into another issue due to
> the lack of bug fixes in Swagger3 2.0.x.
>
> Thanks a lot for your feedback
>
> Oliver
>
> As a recipient of an email from Talend, your contact personal data will
> be on our systems. Please see our contacts privacy notice at Talend,
> Inc. <https://www.talend.com/contacts-privacy-policy/>
>
>
>

--
Jean-Baptiste Onofré
jbonofre@apache.org
https://urldefense.proofpoint.com/v2/url?u=http-3A__blog.nanthrax.net&d=DwID-g&c=2w5q_42kFG40MI2alLPgJw&r=MY8HqKKGyKRbsN_hT9rg7mHAgu8X3kX4hI5WsyoHqi0&m=tXy6S7NX20WRtsa94lub4joq_v7hqPl_8HFV9VuSKHo&s=NoXtLnQzdbJoWG1JcLOnRrtLAZCKIltq8jDxvsA_4NU&e=
Talend - http://www.talend.com

Re: JAXB 2.2 and 2.3 in Karaf 4.1.5

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Hi Oliver,

yes you can still install JAXB 2.2 bundle (or via feature).

Regards
JB

On 26/02/2019 09:59, Oliver Wulff wrote:
> Hi there
> 
> 
> Recently I run into an issue with OpenAPI implemenation (Swagger3 2.0.6)
> due to a dependency to JAXB 2.3 in Karaf 4.1.5. Some bundles require
> version 2.2 and Swagger 3 2.0.6 requires JAXB 2.3. This was the error
> message:
> 
> 
>>>>
> 
> org.apache.karaf.features.internal.util.MultiException: Error restarting
> bundles:
> Could not resolve module: party-api-service-wsdl [338]
>   Bundle was not resolved because of a uses contraint violation.
>   org.osgi.service.resolver.ResolutionException: Uses constraint
> violation. Unable to resolve resource party-api-service-wsdl
> [osgi.identity; osgi.identity="party-api-service-wsdl";
> type="osgi.bundle"; version:Version="1.0.3.SNAPSHOT"] because it is
> exposed to package 'javax.xml.bind' from resources
> org.apache.servicemix.specs.jaxb-api-2.3 [osgi.identity;
> osgi.identity="org.apache.servicemix.specs.jaxb-api-2.3";
> type="osgi.bundle"; version:Version="2.3.0.1"] and org.eclipse.osgi
> [osgi.identity; osgi.identity="org.eclipse.osgi"; type="osgi.bundle";
> version:Version="3.12.50.v20170928-1321"; singleton:="true"] via two
> dependency chains.
> 
>>>>
> 
> 
> I saw that Karaf 4.2.3 supports JAXB 2.3. Is JAXB 2.2 still supported or
> is it not possible to support both JAXB version in one Karaf runtime?
> IMHO, it should be sufficient to ensure that the import defintion
> enforces a version number to properly resolve it. But maybe I miss
> something.
> 
> 
> Instead of something like this:
> 
> Import-Package = 
> javax.xml.bind;version="[2.2,3)",
> javax.xml.bind.annotation;version="[2.2,3)",
> javax.xml.bind.annotation.adapters;version="[2.2,3)",
> 
> 
> I should have this:
> 
> Import-Package = 
> javax.xml.bind;version="[2.2,2.3)",
> javax.xml.bind.annotation;version="[2.2,2.3)",
> javax.xml.bind.annotation.adapters;version="[2.2,2.3)",
> 
> The only solution at the moment is to use Swagger3 2.0.0 (which doesn't
> have the JAXB 2.3 dependency) but I might run into another issue due to
> the lack of bug fixes in Swagger3 2.0.x.
> 
> Thanks a lot for your feedback
> 
> Oliver
> 
> As a recipient of an email from Talend, your contact personal data will
> be on our systems. Please see our contacts privacy notice at Talend,
> Inc. <https://www.talend.com/contacts-privacy-policy/>
> 
> 
> 

-- 
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com