java - 缺少需求 - Org.apache.shiro - Osgi Karaf

标签 java osgi apache-karaf osgi-bundle

似乎我的一个功能有问题..但是,我无法弄清楚是什么导致了这个问题。首先,这是我尝试安装的功能:

<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>

我已将问题缩小到以下功能: TDCNetdesign_UCCXAdmin_Realm

它会导致以下错误:

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>

所以它需要 1.3.0 和 2.0.0 之间的版本。我提供的是 1.3.2,应该没问题...

如你所见; shiro 已安装(1.3.2),并且它说丢失的包甚至不是​​红色或丢失..

http://prntscr.com/digb42

有趣的是,我运行了完全相同的命令

功能:安装 TDCNetdesign_UCCXAdmin_Realm

这次它给了我另一个包。看起来它只是获取了第一个包并返回了缺少的需求,即使它存在于 bundle:list...

在这里您可以看到不同的错误:

http://prntscr.com/digbyu

我在这里错过了一些完全明显的东西吗?

感谢您的宝贵时间!

最佳答案

看起来很像,您的 TDCNetdesign_UCCXAdmin_Realm 并未引用 wallboard-security 功能。您应该确保这也已设置,创建一个“摘要”功能是不够的,例如:

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

相反,请确保您有类似的东西:

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

关于java - 缺少需求 - Org.apache.shiro - Osgi Karaf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41101943/

相关文章:

java - 返回 Either 时不兼容的类型

java - IBatis:未考虑 resultMap

java - 为什么在 Apache Felix 中运行时 JAXB 找不到我的 jaxb.in​​dex?

java - 如何让 Barcode4J FOP 扩展在 OSGi 中工作(用于使用条形码生成 PDF)

maven - 使用maven生成karaf功能时出现NoFileAssignedException异常

java - 将大图像加载到 Google map 中

Java将unix时间戳转换为错误的时间

Maven-bundle-plugin: osgi.ee=UNKNOWN

maven - Karaf 没有启动

java - 在 apache-karaf 中查看 osgi 修订版的命令