I viewed the Framework feature I am explicitly referencing in my POM here:

https://repo1.maven.org/maven2/org/apache/karaf/features/framework/4.3.1/framework-4.3.1-features.xml
 
<https://repo1.maven.org/maven2/org/apache/karaf/features/framework/4.3.1/framework-4.3.1-features.xml>

And it clearly references version 4.3.1:


<feature version="4.3.1" description="Karaf core feature" name="framework" 
hidden="true">
<!-- persistent wiring extension -->
<bundle start-level="1">
mvn:org.apache.karaf.features/org.apache.karaf.features.extension/4.3.1
</bundle>

So I don’t know why version 4.3.2 is being pulled but (presumably) by the 
karaf-maven-plugin.


Best regards,
Alex soto




> On May 6, 2021, at 11:56 PM, Jean-Baptiste Onofre <[email protected]> wrote:
> 
> Hi Alex,
> 
> Yes, the version is not correct. I would check your feature / pom.xml, maybe 
> you don’t have version defined, so it takes the latest one.
> 
> Regards
> JB
> 
>> Le 6 mai 2021 à 18:56, Alex Soto <[email protected] 
>> <mailto:[email protected]>> a écrit :
>> 
>> 
>> I see…  
>> 
>> Karaf is looking for wrap version 2.6.7, but the version the  framework 
>> feature brings  is version is 2.6.2, so it does not find it.
>> However, I don’t know who is pulling version 2.6.7.  Will search for that...
>> 
>> Best regards,
>> Alex soto
>> 
>> 
>> 
>> 
>>> On May 6, 2021, at 10:15 AM, Alex Soto <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>> 
>>> Thanks, JB, 
>>> 
>>> but I don’t understand.  When I inspect my 
>>> /etc/org.apache.karaf.features.cfg  file:
>>> 
>>> #
>>> # Comma separated list of features repositories to register by default
>>> #
>>> featuresRepositories = \
>>>     mvn:org.apache.karaf.features/standard/4.3.0/xml/features, \
>>>     mvn:org.apache.karaf.features/framework/4.3.0/xml/features, ...
>>> 
>>> #
>>> # Comma separated list of features to install at startup
>>> #
>>> featuresBoot = \
>>>     (wrap), \
>>>     package/4.3.1, \
>>>     log/4.3.1, \
>>>     ssh/4.3.1, \
>>>     framework/4.3.0, \
>>>     system/4.3.1, \
>>>     ...
>>> 
>>> 
>>> 
>>> The framework feature is there.
>>> 
>>> Also there is the jar:  
>>> /system/org/osgi/org.osgi.util.function/1.0.0/org.osgi.util.function-1.0.0.jar
>>>  
>>> 
>>> So, what do I need to do?
>>> 
>>> Best regards,
>>> Alex soto
>>> 
>>> 
>>> 
>>> 
>>>> On May 6, 2021, at 9:59 AM, Jean-Baptiste Onofre <[email protected] 
>>>> <mailto:[email protected]>> wrote:
>>>> 
>>>> Hi,
>>>> 
>>>> osgi.function is part of the framework feature:
>>>> 
>>>> https://github.com/apache/karaf/blob/main/assemblies/features/framework/src/main/feature/feature.xml#L34
>>>>  
>>>> <https://github.com/apache/karaf/blob/main/assemblies/features/framework/src/main/feature/feature.xml#L34>
>>>> 
>>>> That’s for Karaf 4.3.1/4.3.2.
>>>> 
>>>> For 4.3.0, it’s there but in version 1.0.0:
>>>> 
>>>> https://repo1.maven.org/maven2/org/apache/karaf/features/framework/4.3.0/framework-4.3.0-features.xml
>>>>  
>>>> <https://repo1.maven.org/maven2/org/apache/karaf/features/framework/4.3.0/framework-4.3.0-features.xml>
>>>> 
>>>> Regards
>>>> JB
>>>> 
>>>>> Le 6 mai 2021 à 17:36, Alex Soto <[email protected] 
>>>>> <mailto:[email protected]>> a écrit :
>>>>> 
>>>>> Hello,
>>>>> 
>>>>> Using a custom distribution, based on  Karaf version 4.3.0, I am getting 
>>>>> the following error, and Karaf would not start:
>>>>> 
>>>>> 
>>>>> $ bin/karaf 
>>>>> org.apache.felix.resolver.reason.ReasonException: Unable to resolve root: 
>>>>> missing requirement [root] osgi.identity; osgi.identity=wrap; 
>>>>> type=karaf.feature; version="[2.6.7,2.6.7]"; 
>>>>> filter:="(&(osgi.identity=wrap)(type=karaf.feature)(version>=2.6.7)(version<=2.6.7))"
>>>>>  [caused by: Unable to resolve wrap/2.6.7: missing requirement 
>>>>> [wrap/2.6.7] osgi.identity; osgi.identity=pax-url-wrap; 
>>>>> type=karaf.feature; version="[2.6.7,2.6.7]" [caused by: Unable to resolve 
>>>>> pax-url-wrap/2.6.7: missing requirement [pax-url-wrap/2.6.7] 
>>>>> osgi.identity; osgi.identity=org.ops4j.pax.url.wrap; type=osgi.bundle; 
>>>>> version="[2.6.7,2.6.7]"; resolution:=mandatory [caused by: Unable to 
>>>>> resolve org.ops4j.pax.url.wrap/2.6.7: missing requirement 
>>>>> [org.ops4j.pax.url.wrap/2.6.7] osgi.wiring.package; 
>>>>> filter:="(&(osgi.wiring.package=org.osgi.util.function)(version>=1.1.0)(!(version>=2.0.0)))"]]]
>>>>>   at 
>>>>> org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341)
>>>>>   at 
>>>>> org.apache.felix.resolver.ResolverImpl.doResolve(ResolverImpl.java:434)
>>>>>   at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:421)
>>>>>   at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:375)
>>>>>   at 
>>>>> org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:257)
>>>>>   at 
>>>>> org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:392)
>>>>>   at 
>>>>> org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1062)
>>>>>   at 
>>>>> org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:998)
>>>>>   at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
>>>>>   at 
>>>>> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>>>>>   at 
>>>>> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>>>>>   at java.base/java.lang.Thread.run(Thread.java:829)
>>>>> Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to 
>>>>> resolve wrap/2.6.7: missing requirement [wrap/2.6.7] osgi.identity; 
>>>>> osgi.identity=pax-url-wrap; type=karaf.feature; version="[2.6.7,2.6.7]" 
>>>>> [caused by: Unable to resolve pax-url-wrap/2.6.7: missing requirement 
>>>>> [pax-url-wrap/2.6.7] osgi.identity; osgi.identity=org.ops4j.pax.url.wrap; 
>>>>> type=osgi.bundle; version="[2.6.7,2.6.7]"; resolution:=mandatory [caused 
>>>>> by: Unable to resolve org.ops4j.pax.url.wrap/2.6.7: missing requirement 
>>>>> [org.ops4j.pax.url.wrap/2.6.7] osgi.wiring.package; 
>>>>> filter:="(&(osgi.wiring.package=org.osgi.util.function)(version>=1.1.0)(!(version>=2.0.0)))"]]
>>>>>   at 
>>>>> org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341)
>>>>>   ... 12 more
>>>>> Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to 
>>>>> resolve pax-url-wrap/2.6.7: missing requirement [pax-url-wrap/2.6.7] 
>>>>> osgi.identity; osgi.identity=org.ops4j.pax.url.wrap; type=osgi.bundle; 
>>>>> version="[2.6.7,2.6.7]"; resolution:=mandatory [caused by: Unable to 
>>>>> resolve org.ops4j.pax.url.wrap/2.6.7: missing requirement 
>>>>> [org.ops4j.pax.url.wrap/2.6.7] osgi.wiring.package; 
>>>>> filter:="(&(osgi.wiring.package=org.osgi.util.function)(version>=1.1.0)(!(version>=2.0.0)))"]
>>>>>   at 
>>>>> org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341)
>>>>>   ... 13 more
>>>>> Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to 
>>>>> resolve org.ops4j.pax.url.wrap/2.6.7: missing requirement 
>>>>> [org.ops4j.pax.url.wrap/2.6.7] osgi.wiring.package; 
>>>>> filter:="(&(osgi.wiring.package=org.osgi.util.function)(version>=1.1.0)(!(version>=2.0.0)))"
>>>>>   at 
>>>>> org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341)
>>>>>   ... 14 more
>>>>> 
>>>>> 
>>>>> 
>>>>> Java version is:  openjdk version "11.0.11" 2021-04-20 LTS
>>>>> OS:  Linux version 3.10.0-1127.el7.x86_64 
>>>>> ([email protected] 
>>>>> <mailto:[email protected]>) (gcc version 4.8.5 20150623 
>>>>> (Red Hat 4.8.5-39) (GCC) ) #1 SMP Tue Mar 31 23:36:51 UTC 2020
>>>>> 
>>>>> 
>>>>> I have verified the required jar is present:
>>>>> 
>>>>> $ ls -l system/org/osgi/org.osgi.util.function/1.1.0/
>>>>> total 16
>>>>> -rw-r--r--. 1 vagrant vagrant 14053 May  6 14:49 
>>>>> org.osgi.util.function-1.1.0.jar
>>>>> 
>>>>> 
>>>>> Any help will be appreciated. 
>>>>> 
>>>>> Best regards,
>>>>> Alex soto
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>> 
>>> 
>> 
> 

Reply via email to