Asynchronous java.lang.ClassNotFoundException:org.reactivestreams.Publisher在使用camelahc组件时未找到
我想使用ahc组件调用外部http服务,camel ahc依赖项添加到pom.xml中,camel ahc功能也安装在karaf中:Asynchronous java.lang.ClassNotFoundException:org.reactivestreams.Publisher在使用camelahc组件时未找到,asynchronous,apache-camel,apache-karaf,Asynchronous,Apache Camel,Apache Karaf,我想使用ahc组件调用外部http服务,camel ahc依赖项添加到pom.xml中,camel ahc功能也安装在karaf中: feature:install camel-ahc 已添加的捆绑包: 骆驼ahc 及 包装文件\uuuuuuuuuuuuuuuuuuuuuuuu home\uOSSL\uum2\u存储库\u组织\u asynchttpclient\u async-http-client\u 2.4.3\u async-http-cl 我的代码是: <camelCo
feature:install camel-ahc
已添加的捆绑包:
骆驼ahc
及
包装文件\uuuuuuuuuuuuuuuuuuuuuuuu home\uOSSL\uum2\u存储库\u组织\u asynchttpclient\u async-http-client\u 2.4.3\u async-http-cl
我的代码是:
<camelContext id="jetty-ws-camel-ahc" xmlns="http://camel.apache.org/schema/blueprint" >
<route id="ahc-route">
<from uri="timer://webinar?period=20000"/>
<setHeader headerName="CamelHttpMethod">
<constant>GET</constant>
</setHeader>
<to uri="ahc:http://217.0.0.0:3030/sendSMS/mynumber/bye"/>
<log message="message sent!"/>
</route>
</camelContext>
得到
但我有一个警告,请求未发送到http地址:
警告[Blueprint Extender:3]侦听器导致异常,将被忽略
java.util.concurrent.ExecutionException:java.lang.NoClassDefFoundError:org/reactivestreams/Publisher
原因:java.lang.ClassNotFoundException:org.reactivestreams.Publisher未被wrap_file_uuuhome_ossl_m2_Urepository_org_asynchttpclient_async-http-client_2.4.3_async-http-client-2.4.3.jar_u导出包_org.asynchttpclient.\uU版本_2.4.3
我该怎么办?问题是工件的自动包装
org.asynchttpclient/asynchttpclient
包装默认情况下使所有导入包子句都是可选的,这有时会使构建可靠连接的设置变得困难,因为当解析器在查看导出“可选”包的包之前查看包装包时,它们不会连接在一起,因为它们是可选的,冲突解决程序会很高兴地跳过它们,即使在一微秒后出现
要测试这一点,您可以bundle:refresh
异步http客户机bundle,并查看bundle:tree show
包是否仍未连接(标记为警告
)
为了可靠地修复它,您可以基于正式的Apache Camel功能创建自己的功能,并修改包装以使某些导入成为必需的(例如,将&Import Package=org.reactivestreams,*;解析:=可选的添加到包装:
语句中)
还可以查看。问题是工件的自动包装org.asynchttpclient/asynchttpclient
包装默认情况下使所有导入包子句都是可选的,这有时会使构建可靠连接的设置变得困难,因为当解析器在查看导出“可选”包的包之前查看包装包时,它们不会连接在一起,因为它们是可选的,冲突解决程序会很高兴地跳过它们,即使在一微秒后出现
要测试这一点,您可以bundle:refresh
异步http客户机bundle,并查看bundle:tree show
包是否仍未连接(标记为警告
)
为了可靠地修复它,您可以基于正式的Apache Camel功能创建自己的功能,并修改包装以使某些导入成为必需的(例如,将&Import Package=org.reactivestreams,*;解析:=可选的添加到包装:
语句中)
还可以看一看