Search code examples
javaosgiapache-karafosgi-bundle

Missing requirement - Org.apache.shiro - Osgi Karaf


It seems like i have a problem with my one of my features.. however, i cant figure out what is causing this problem. First of all, here is my features that i am trying to install:

<feature name="wallboard-uccx10">
    <feature>pax-wicket</feature>
    <feature>guava</feature>
    <feature>wallboard-core</feature>
    <feature>commons-net</feature>
    <feature>jackson</feature>
    <bundle>mvn:org.glassfish.hk2/hk2-api/${hk2.version}</bundle>
    <bundle>mvn:org.glassfish.hk2/hk2-utils/${hk2.version}</bundle>
    <bundle>mvn:org.glassfish.hk2/hk2-locator/${hk2.version}</bundle>
    <bundle>mvn:org.javassist/javassist/${javaassist.version}</bundle>
    <bundle>mvn:org.glassfish.hk2/osgi-resource-locator/${osgilocator.version}</bundle>
    <feature>jersey</feature>
    <feature>wallboard-security-uccx10</feature>
    <bundle start-level="85">mvn:dk.netdesign.wallboard/wallboard-uccx-rest-provider/${project.version}</bundle>
</feature>

<feature name="wallboard-security-uccx10">
    <feature>wallboard-security</feature>
    <feature>TDCNetdesign_Finesse_Realm</feature>
    <feature>TDCNetdesign_UCCXAdmin_Realm</feature>  
</feature>

 <feature name="wallboard-security">
    <bundle>mvn:joda-time/joda-time/2.9.6</bundle>
    <bundle>mvn:org.apache.shiro/shiro-core/${shiro.version}</bundle>
    <bundle>mvn:org.apache.shiro/shiro-web/${shiro.version}</bundle>
    <bundle>mvn:dk.netdesign.wallboard/wallboard-shiro/${project.version}</bundle>
</feature>

I have kind of narrowed the problem to the following feature: TDCNetdesign_UCCXAdmin_Realm

It causes the following error:

error executing commnad: unable to resolve wallboard-shiro/2.55-SNAPSHOT: missing requirement [wallboard-shiro/2.55-SNAPSHOT] osgi.wiring.package; filter:="<&=1.3.0>=2.0.0>

So it wants a version between 1.3.0 and 2.0.0. I am providing it with 1.3.2 which should be fine...

As you can see; shiro is installed (1.3.2) and the package that it says is missing is not even red or missing..

http://prntscr.com/digb42

The funny thing is, i run the exact same command

feature:install TDCNetdesign_UCCXAdmin_Realm

This time it gives me another bundle.. It looks like it just gets the first package and returns missing requirement, even though it is present in the bundle:list...

Here you can see the different errors:

http://prntscr.com/digbyu

Am i missing something completely obvious here?

Thanks for your time!


Solution

  • It looks a lot like, your TDCNetdesign_UCCXAdmin_Realm isn't referring the wallboard-security feature. You should make sure that this is also set, it's not enough to create a "summary" feature like:

    <feature name="wallboard-security-uccx10">
        <feature>wallboard-security</feature>
        <feature>TDCNetdesign_Finesse_Realm</feature>
        <feature>TDCNetdesign_UCCXAdmin_Realm</feature>  
    </feature>
    

    instead make sure you have something more the like:

     <feature name="TDCNetdesign_UCCXAdmin_Realm">
         <feature>wallboard-security</feature>
         <bundle>...</bundle>
     </feature>