【问题标题】:Karaf Pax Exam fails with Unknown protocol: wrapKaraf Pax 考试因未知协议而失败:换行
【发布时间】:2016-05-19 07:16:39
【问题描述】:

您好,我的 pax 考试失败并出现错误 Unknown protocol: wrap

org.apache.karaf.features.internal.util.MultiException: Error
    at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$MavenDownloader.<init>(MavenDownloadManager.java:84)[9:org.apache.karaf.features.core:4.0.4]
    at org.apache.karaf.features.internal.download.impl.MavenDownloadManager.createDownloader(MavenDownloadManager.java:72)[9:org.apache.karaf.features.core:4.0.4]
    at org.apache.karaf.features.internal.region.Subsystem.downloadBundles(Subsystem.java:363)[9:org.apache.karaf.features.core:4.0.4]
    at org.apache.karaf.features.internal.region.Subsystem.downloadBundles(Subsystem.java:360)[9:org.apache.karaf.features.core:4.0.4]
    at org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:187)[9:org.apache.karaf.features.core:4.0.4]
    at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:263)[9:org.apache.karaf.features.core:4.0.4]
    at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1089)[9:org.apache.karaf.features.core:4.0.4]
    at org.apache.karaf.features.internal.service.FeaturesServiceImpl$1.call(FeaturesServiceImpl.java:985)[9:org.apache.karaf.features.core:4.0.4]
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_79]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_79]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.0_79]
    at java.lang.Thread.run(Thread.java:745)[:1.7.0_79]
Caused by: java.io.IOException: Error downloading wrap:file:/C:/Users/609620968/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar
    at org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:67)[9:org.apache.karaf.features.core:4.0.4]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)[:1.7.0_79]
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_79]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)[:1.7.0_79]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)[:1.7.0_79]
    ... 3 more
Caused by: java.io.IOException: Could not download [wrap:file:/C:/Users/609620968/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar]
    at org.apache.karaf.features.internal.download.impl.SimpleDownloadTask.download(SimpleDownloadTask.java:90)[9:org.apache.karaf.features.core:4.0.4]
    at org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:58)[9:org.apache.karaf.features.core:4.0.4]
    ... 7 more
Caused by: java.net.MalformedURLException: Unknown protocol: wrap
    at java.net.URL.<init>(URL.java:619)[:1.7.0_79]
    at java.net.URL.<init>(URL.java:482)[:1.7.0_79]
    at java.net.URL.<init>(URL.java:431)[:1.7.0_79]
    at org.apache.karaf.features.internal.download.impl.SimpleDownloadTask.download(SimpleDownloadTask.java:62)[9:org.apache.karaf.features.core:4.0.4]
    ... 8 more

当我将 karaf 版本从 3.03 更改为 4.04 时,此错误开始出现

【问题讨论】:

    标签: osgi apache-karaf karaf blueprint-osgi pax-exam


    【解决方案1】:

    您自己的功能需要依赖于包装功能。使用 prerequiste="true"。

    <feature prerequisite="true">wrap</feature>
    

    这告诉 karaf 解析器首先加载 wrap 功能,然后才尝试解析您的功能。

    【讨论】:

    • 你知道如何在Karaf配置pax-exam中用java给出这个
    • 您必须创建自己的功能文件并使用 pax 考试加载它。
    • 以防万一有人在非 Karaf Pax 考试中遇到这个问题,就像我刚才所做的那样:向 Pax URL 的 Wrap 添加依赖项是您所缺少的(例如“org.ops4j.pax.url :pax-url-wrap:2.5.2")
    • 这是否也适用于 Karaf 4.1.0?尝试在那里使用 pax-exam,即使在我的功能中使用先决条件标志,换行也会失败。
    猜你喜欢
    • 1970-01-01
    • 2013-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-14
    • 1970-01-01
    • 2020-03-21
    相关资源
    最近更新 更多