Apache camel 组件camel jsonpath在添加到pom文件后出错

Apache camel 组件camel jsonpath在添加到pom文件后出错,apache-camel,osgi,Apache Camel,Osgi,在clean Camel项目中,我添加了以下依赖项: <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-jsonpath</artifactId> <version>2.16.1</version> </dependency> 编辑: 添加后: <dependency>

在clean Camel项目中,我添加了以下依赖项:

<dependency>
  <groupId>org.apache.camel</groupId>
  <artifactId>camel-jsonpath</artifactId>
  <version>2.16.1</version>       
</dependency>
编辑: 添加后:

<dependency>
    <groupId>org.ow2.asm</groupId>
    <artifactId>asm-commons</artifactId>
    <version>5.0.3</version>
    <scope>runtime</scope>
</dependency> 

org.ow2.asm
公共空间
5.0.3
运行时

它奏效了,但怀疑这是正确的方法。camel组件应该获得所有依赖的jar。

pom.xml是关于编译时依赖的。缺少依赖项(org.objectweb.asm)时出现运行时错误。您应该将其添加到您的容器中


在堆栈跟踪中:在blueprint上下文中注册一个新服务。然后将该服务注入另一个蓝图上下文中。对于此服务,blueprint容器希望将其包装在新的代理中,并且要创建此类代理,aries blueprint需要org.objectweb.asm。我认为这个错误与camel-jsonpath没有直接关系。

我在camel-nabble论坛上发布了这个错误,实际上,您似乎需要添加asm依赖项才能让它工作


org.ow2.asm
公共空间
5.0.3
运行时

在我的例子中,当使用5.0.3版的asm commons时,我仍然会遇到一些错误。作为对前面答案的替代,可以使用asmall工件,因为它包括在我的场景中破坏的其他依赖项

<dependency>
  <groupId>org.ow2.asm</groupId>
  <artifactId>asm-all</artifactId>
  <scope>runtime</scope>
</dependency>

org.ow2.asm
asm all
运行时
然而,关于部署,使用此依赖项将项目集成到Fabric8似乎是不可能的(控制台日志上没有错误,容器不会启动),因此不确定是否有更好的替代方案,具有camel jsonpath特性


希望它能帮助别人。

是的,但从技术上讲,我唯一需要做的就是添加依赖项来使用它。至少根据文件。但这是一个奇怪的错误,如果我删除该依赖项,则不会发生这种错误。编辑:我上面提到的错误是由于缺少camel xmljson所需的XOM依赖项。我使用asm all的主要原因是我们不再选择它的版本,因为它是由Fuse的BOM管理的。
<dependency>
    <groupId>org.ow2.asm</groupId>
    <artifactId>asm-commons</artifactId>
    <version>5.0.3</version>
    <scope>runtime</scope>
</dependency> 
<dependency>
  <groupId>org.ow2.asm</groupId>
  <artifactId>asm-all</artifactId>
  <scope>runtime</scope>
</dependency>