包裹协议:未处理的参数(features.xml)

问题描述 投票:0回答:1

我根据How to run Vaadin 7 applications in Karaf?创建了一个features.xml

所以我得到了这些线:

<feature name="vaadin-common" version="7.6.8">
    <!-- preceding code -->
    <bundle>wrap:mvn:com.yahoo.platform.yui/yuicompressor/2.4.8$Bundle-SymbolicName=com.yahoo.platform.yui.compressor&amp;Bundle-Version=2.4.8</bundle>
    <bundle>wrap:mvn:javax.validation/validation-api/1.0.0.GA$BundleSymbolicName=javax-validation-api&amp;Bundle-Version=1.0.0.GA</bundle>
    <bundle>wrap:mvn:com.google.appengine/appengine-api-1.0-sdk/1.7.7$BundleSymbolicName=com-google-appengine-api-1.0-sdk&amp;Bundle-Version=1.7.7</bundle>
    <!-- appending code -->
</feature>

当我做一个qazxsw poi一切安装,但只有qazxsw poi得到适当的包装

feature:install vaadin-common

捆绑标头。但对于其他两个,这不适用:

yuicompressor

我将Bundle-SymbolicName: com.yahoo.platform.yui.compressor Bundle-Version: 2.4.8 karaf@root()>bundle:list 1335│ Active │ 80 │ 2.4.8 │ com-yahoo-platform-yui-yuicompressor 1336│ Active │ 80 │ 1.7.7 │ wrap_file__home_mine_.m2_repository_com_google_appengine_appengine-api-1.0-sdk_1.7.7_appengine-api-1.0-sdk-1.7.7.jar_BundleSymbolicName_com.google.appengin 1337│ Active │ 80 │ 1.0.0.GA │ wrap_file__home_mine_.m2_repository_javax_validation_validation-api_1.0.0.GA_validation-api-1.0.0.GA.jar_BundleSymbolicName_javax.validation.validation-api 更改为不同的东西,并且更改不会影响标题。所以换行:根本不工作。

当我直接输入它(用Bundle-SymbolicName替换yuicompressor):

'&amp;'

一切正常......

我试过了:

  1. '&'替换karaf@root()>bundle:install 'wrap:mvn:javax.validation/validation-api/1.0.0.GA$BundleSymbolicName=javax-validation-api&Bundle-Version=1.0.0.GA' Bundle ID: 420 karaf@root()>bundle:list ID │ State │ Lvl │ Version │ Name 420 │ Installed │ 80 │ 1.0.0.GA │ javax-validation-api
  2. 跳过$BundleSymbolicName / $Bundle-SymbolicName和两者
  3. Bundle-SymbolicNameBundle-Version一起玩
  4. 将URI包装到&amp;

我的假设是,&在这里做(或不做)它的魔力。似乎根本无法识别参数。 <![CDATA[]]>总是显示相同的结果。

我正在使用karaf-4.1.1,后者又坚持使用OSGi-R6。

好吧,我尝试使用karaf-4.0.7,它完美无缺。为什么不使用4.1.1版本?

install bundle apache-karaf
1个回答
1
投票

最后我拉了插头:我删除了Pax URL并重新启动了karaf。有效。有点专业......

为了复制,我重置并部署了一个功能文件:

bundle:list

并且捆绑包已成功安装:

${karaf.home}/data

由于我删除了<!-- features.xml --> <?xml version="1.0" encoding="UTF-8"?> <features name="javax-validation"> <feature name="javax-validation" version="2"> <!-- Bundle-SymbolicName=foo --> <bundle><![CDATA[wrap:mvn:javax.validation/validation-api/1.0.0.GA$Bundle-SymbolicName=foo]]></bundle> </feature> </features> ,我的猜测是,我的问题是由一些缓存引起的。

所以我修改了karaf@root()>feature:install javax-validation karaf@root()>bundle:list ID │ State │ Lvl │ Version │ Name 59 │ Active │ 80 │ 0 │ foo 并再次部署:

${karaf.home}/data

和:

features.xml

哈!它就是!没变。

最后,我发现了<!-- features.xml --> <?xml version="1.0" encoding="UTF-8"?> <features name="javax-validation"> <feature name="javax-validation" version="2"> <!-- Bundle-SymbolicName=bar --> <bundle><![CDATA[wrap:mvn:javax.validation/validation-api/1.0.0.GA$Bundle-SymbolicName=bar]]></bundle> </feature> </features> 里面的karaf@root()>feature:install javax-validation karaf@root()>bundle:list ID │ State │ Lvl │ Version │ Name 60 │ Active │ 80 │ 0 │ foo 和这个validation-api-1.0.0.GA.jar

${karaf.home}/data/tmp

干杯!

© www.soinside.com 2019 - 2024. All rights reserved.