[
https://issues.apache.org/jira/browse/CAMEL-17137?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17494598#comment-17494598
]
Rastislav Papp commented on CAMEL-17137:
----------------------------------------
This works when installing manually, but not when creating custom
karaf-assembly (based on 4.3.6, via maven plugin). We create one with boot
features from camel/3.14.1 and cxf/3.4.5, but karaf fails with:
{code}
org.apache.felix.resolver.reason.ReasonException: Unable to resolve
com.sun.xml.messaging.saaj.impl/1.5.2: missing requirement
[com.sun.xml.messaging.saaj.impl/1.5.2] osgi.wiring.package;
filter:="(&(osgi.wiring.package=org.jvnet.staxex)(version>=1.8.0)(!(version>=2.0.0)))"
at
org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341)
~[?:?]
{code}
This is because camel-cxf 3.14.1 depends on a cxf feature using range
[3.4,3.4], and somehow karaf tries to install it during boot stage, even though
we define our own cxf repository+feature versions. It ends up installing cxf
version 3.4.0.
In the past we could blacklist camel's cxf feature in karaf, but now that it is
defined via range, the blacklisting stopped working:
{code}
2022-02-18T13:57:35,135 | WARN | activator-1-thread-2 | |
org.apache.karaf.features.core - 4.3.6 | LocationPattern | |
Matched URI can't use version ranges:
mvn:org.apache.cxf.karaf/apache-cxf/[3.4,3.4]/xml/features
{code}
{code:java}
if (other.versionRange != null) {
LOG.warn("Matched URI can't use version ranges: " + otherUri);
return false;
}
{code}
Only solution for us is to create custom camel feature, by copying the real
one, and deleting the cxf repository dependency.
cc: [~davsclaus], [~jbonofre]
> camel-karaf - Error while adding camel-cxf
> ------------------------------------------
>
> Key: CAMEL-17137
> URL: https://issues.apache.org/jira/browse/CAMEL-17137
> Project: Camel
> Issue Type: Bug
> Components: came-cxf, karaf
> Affects Versions: 3.11.3, 3.12.0
> Reporter: Kiryanov Vlad
> Priority: Minor
> Fix For: 3.14.1, 3.15.0, 3.11.6
>
> Attachments: karaf.log
>
>
> Hello!
> In Karaf 4.3.2 while add camel-cxf an error occurs
> 2021-10-27T11:59:22,050 | ERROR | Karaf local console user karaf | ShellUtil
> | 43 - org.apache.karaf.shell.core - 4.3.2 | Exception caught while executing
> command
> org.apache.felix.resolver.reason.ReasonException: Unable to resolve root:
> missing requirement [root] osgi.identity; osgi.identity=camel-cxf;
> type=karaf.feature; version="[3.11.3,3.11.3]";
> filter:="(&(osgi.identity=camel-cxf)(type=karaf.feature)(version>=3.11.3)(version<=3.11.3))"
> [caused by: Unable to resolve camel-cxf/3.11.3: missing requirement
> [camel-cxf/3.11.3] osgi.identity; osgi.identity=cxf-core; type=karaf.feature;
> version="[3.3.0,4.0.0)"]
> at
> org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341)
> ~[?:?]
> at org.apache.felix.resolver.ResolverImpl.doResolve(ResolverImpl.java:433)
> ~[?:?]
> at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:420)
> ~[?:?]
> at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:374)
> ~[?:?]
> at
> org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:257)
> ~[?:?]
> at
> org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:399)
> ~[?:?]
> at
> org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1069)
> ~[?:?]
> at
> org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:1004)
> ~[?:?]
> at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> ~[?:?]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> ~[?:?]
> at java.lang.Thread.run(Thread.java:834) [?:?]
> Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to
> resolve camel-cxf/3.11.3: missing requirement [camel-cxf/3.11.3]
> osgi.identity; osgi.identity=cxf-core; type=karaf.feature;
> version="[3.3.0,4.0.0)"
> at
> org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341)
> ~[?:?]
> ... 12 more
--
This message was sent by Atlassian Jira
(v8.20.1#820001)