首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >组件camel-jsonpath在添加到pom文件后出现错误

组件camel-jsonpath在添加到pom文件后出现错误
EN

Stack Overflow用户
提问于 2016-02-03 12:05:20
回答 3查看 2.1K关注 0票数 4

在一个干净的Camel项目中,我添加了以下依赖项:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
  <groupId>org.apache.camel</groupId>
  <artifactId>camel-jsonpath</artifactId>
  <version>2.16.1</version>       
</dependency>

当我运行这个项目时,我得到下面的错误。如果我移除这个依赖项,它就能正常工作。我已经在两个不同的项目上尝试过了,同样的情况也发生了。要让jsonpath正常工作,还需要向pom添加任何其他内容吗?它似乎在抱怨ASM?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[INFO] Using org.apache.camel.test.blueprint.Main to initiate a CamelContext
[INFO] Starting Camel ...
[mel.test.blueprint.Main.main()] Activator                      INFO  Camel activator starting
[mel.test.blueprint.Main.main()] Activator                      INFO  Camel activator started
[         Blueprint Extender: 1] BlueprintContainerImpl         INFO  Bundle INT001_GetPostcodeDataFromXXX/0.0.1.SNAPSHOT is waiting for namespace handlers [http://camel.apache.org/schema/blueprint]
EventDispatcher: Error during dispatch.
EventDispatcher: Error during dispatch.
EventDispatcher: Error during dispatch.
EventDispatcher: Error during dispatch.
EventDispatcher: Error during dispatch.
org.osgi.framework.ServiceException: Service factory exception: org/objectweb/asm/commons/AdviceAdapter
        at org.apache.felix.connect.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:246)
        at org.apache.felix.connect.felix.framework.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:178)
        at org.apache.felix.connect.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:323)
        at org.apache.felix.connect.PojoSRBundleContext.getService(PojoSRBundleContext.java:162)
        at org.apache.aries.blueprint.namespace.NamespaceHandlerRegistryImpl.addingService(NamespaceHandlerRegistryImpl.java:113)
        at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:932)
        at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:864)
        at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
        at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229)
        at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:894)
        at org.apache.felix.connect.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:852)
        at org.apache.felix.connect.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:775)
        at org.apache.felix.connect.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:594)
        at org.apache.felix.connect.PojoSR$1.serviceChanged(PojoSR.java:78)
        at org.apache.felix.connect.felix.framework.ServiceRegistry.registerService(ServiceRegistry.java:130)
        at org.apache.felix.connect.PojoSRBundleContext.registerService(PojoSRBundleContext.java:101)
        at org.apache.aries.blueprint.container.BlueprintContainerImpl.registerService(BlueprintContainerImpl.java:453)
        at org.apache.aries.blueprint.container.ServiceRecipe.register(ServiceRecipe.java:193)
        at org.apache.aries.blueprint.container.BlueprintContainerImpl.registerServices(BlueprintContainerImpl.java:704)
        at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:379)
        at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:269)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at org.apache.aries.blueprint.container.ExecutorServiceWrapper.run(ExecutorServiceWrapper.java:106)
        at org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run(DiscardableRunnable.java:48)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoClassDefFoundError: org/objectweb/asm/commons/AdviceAdapter
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at org.apache.aries.proxy.impl.interfaces.ProxyClassLoader.createProxyClass(ProxyClassLoader.java:146)
        at org.apache.aries.proxy.impl.interfaces.InterfaceProxyGenerator.getProxyInstance(InterfaceProxyGenerator.java:95)
        at org.apache.aries.proxy.impl.AsmProxyManager.createNewProxy(AsmProxyManager.java:80)
        at org.apache.aries.proxy.impl.AbstractProxyManager.createDelegatingInterceptingProxy(AbstractProxyManager.java:75)
        at org.apache.aries.proxy.impl.AbstractProxyManager.createInterceptingProxy(AbstractProxyManager.java:53)
        at org.apache.aries.blueprint.container.ServiceRecipe$TriggerServiceFactory.getService(ServiceRecipe.java:569)
        at org.apache.felix.connect.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:242)
        ... 31 more
Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.commons.AdviceAdapter
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 49 more
org.osgi.framework.ServiceException: Service factory exception: org/objectweb/asm/commons/AdviceAdapter
        at org.apache.felix.connect.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:246)
        at org.apache.felix.connect.felix.framework.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:178)
        at org.apache.felix.connect.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:323)
        at org.apache.felix.connect.PojoSRBundleContext.getService(PojoSRBundleContext.java:162)
        at org.apache.aries.blueprint.namespace.NamespaceHandlerRegistryImpl.addingService(NamespaceHandlerRegistryImpl.java:113)
        at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:932)
        at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:864)
        at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
        at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229)
        at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:894)
        at org.apache.felix.connect.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:852)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoClassDefFoundError: org/objectweb/asm/commons/AdviceAdapter

编辑:添加后:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
    <groupId>org.ow2.asm</groupId>
    <artifactId>asm-commons</artifactId>
    <version>5.0.3</version>
    <scope>runtime</scope>
</dependency> 

它起作用了,但怀疑这是正确的方式。camel-component应该获得所有依赖的jars。

EN

回答 3

Stack Overflow用户

发布于 2016-02-05 08:20:51

我在Camel nabble论坛上发布了这篇文章,实际上,您似乎需要添加asm依赖项才能使其工作。

http://camel.465427.n5.nabble.com/Error-with-Camel-component-camel-jsonpath-td5777201.html

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
    <groupId>org.ow2.asm</groupId>
    <artifactId>asm-commons</artifactId>
    <version>5.0.3</version>
    <scope>runtime</scope>
</dependency> 
票数 5
EN

Stack Overflow用户

发布于 2016-02-03 13:13:43

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

在堆栈中跟踪:在蓝图上下文中注册新服务。然后,该服务被注入到另一个蓝图上下文中。对于这个服务,蓝图容器想要将它包装在一个新的代理中,而要创建这种代理,白羊座蓝图需要org.objectweb.asm。我不认为这个错误与camel-jsonpath有直接关系。

票数 0
EN

Stack Overflow用户

发布于 2018-05-08 15:57:47

在我的例子中,当使用5.0.3版本的asm-commons时,我仍然收到一些错误。作为前面答案的另一种选择,可以使用asm-all工件,因为它包含了在我的场景中以其他方式破坏的其他依赖项。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
  <groupId>org.ow2.asm</groupId>
  <artifactId>asm-all</artifactId>
  <scope>runtime</scope>
</dependency>

然而,关于部署,使用这种依赖关系将项目集成到Fabric8似乎是不可能的(控制台日志上没有错误,容器不会启动),所以不确定是否有更好的替代方案,具有某种驼峰-jsonpath特性。

希望这能帮助到别人。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35176594

复制
相关文章
软件调试的技巧
这篇文章是《调试九法:软硬件错误的排查之道》的阅读笔记。这本书的主旨,是介绍如何修复bug:找出bug发生的原因、并给出修复方案。
阿杜
2019/05/14
8430
软件调试的技巧
console实用调试技巧console实用调试技巧
这里将后面的变量赋值给了前面的占位符的位置,他们是一一对应的。这种写法在复杂的输出时,能保证模板和数据分离,结构更加清晰。不过如果是简单的输出,就没必要这样写了。在console.log中,支持的占位符格式如下:
贺贺V5
2021/11/24
1K0
console实用调试技巧console实用调试技巧
css调试技巧
注:index.html文件中包含的是index.css文件不是index.less文件
matinal
2020/11/27
6900
css调试技巧
JSP调试技巧
我先谈谈: 我的经验就是多装几个服务器,这个查不出错误,用另一个,这个方法很好用。 --------------------------------------------------------------- 1 用控制台或浏览器输出可能出现的错误的地方(相当于断点) 2 在程序中多加捕获异常来发现问题到底在哪儿 3 直接在用浏览器浏览,出现问题再慢慢的找 ---------------------------------------------------------
用户1112962
2018/07/03
1.1K0
IDEA调试技巧
① 以Debug模式启动服务,左边的一个按钮则是以Run模式启动。在开发中,我一般会直接启动Debug模式,方便随时调试代码。
爱撒谎的男孩
2020/03/24
1.4K0
[C语言]实用调试技巧
调试(Debug/Debugging),又称除错,是发现;和减少计算机程序或电子仪器设备中程序错误的一个过程。程序调试时将编译的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和螺距错误的过程,是保证计算机信息系统正确性的必不可少的步骤。
IT编程爱好者
2023/04/12
4280
[C语言]实用调试技巧
Theano调试技巧
Theano是最老牌的深度学习库之一。它灵活的特点使其非常适合学术研究和快速实验,但是它难以调试的问题也遭到过无数吐槽。其实Theano本身提供了很多辅助调试的手段,下面就介绍一些Theano的调试技巧,让Theano调试不再难。 以下的技巧和代码均在Theano 0.8.2 上测试通过,不保证在更低的版本上也可以适用。 如何定位出错位置 Theano的网络在出错的时候,往往会提供一些出错信息。但是出错信息往往非常模糊,让人难以直接看出具体是哪一行代码出现了问题。大家看下面的例子: import thea
用户1332428
2018/03/08
2.1K0
Js调试技巧
preserve log disable cache source -> search 、 snippet script 、 override 重写覆盖脚本 (也可以用 fiddler 支持正则更智能)、 Ctrl键 切换智能提示…
TagBug
2023/03/16
3K0
Chrome调试技巧
一、如何查看dom元素的事件 某种情况我们在页面交互上发现一个问题,肯定是非常想知道这个交互触发执行的入口,这会使我们更直接、快速的进行代码的跟踪、调试和分析。其实在chrome浏览器这很简单就实现了
sam dragon
2018/06/21
1.4K0
Flutter 调试技巧
对于前端的同学在调试时我们有很多方式可以用,比如 Chrome Dev Tools ,你可以在 Elements 上调试布局和样式,也可以利用 console.log 来打印变量,当然也有较多的栈信息让你来判断错误和 debug,相应的 Flutter 也有很多调试技巧可以辅助我们更好的进行开发并解决问题。
icepy
2019/06/24
2K0
Flutter 调试技巧
VS调试技巧
· 发现程序错误的存在 发现错误的存在: 1.程序员自己 2.测试人员 3.用户 · 以隔离、消除等方式对错误进行定位 · 确定错误产生的原因 · 提出纠正错误的解决办法 · 对程序错误予以改正,重新测试
xxxflower
2023/04/16
7100
VS调试技巧
VS 调试技巧
常用调试快捷键 F5 : 运行程序 F10:单步调试 F11:进入函数 Shift+F11: 跳出函数 F9:设置或取消断点 阅读代码快捷键 F12 : 函数间跳转 crtl + -: 跳回去,与F12方向向反。 查看变量内存值 打开内存显示窗口 DEBUG->windows->memory 在内存显示窗口里贴入要查看的变量地址 VS常用设置 如何设置 $(Outdir) 路径 右键工程-〉属性-〉配置属性-〉常规-〉输出目录 如何设置输出文件类型 右键工程-〉属性-〉配置属性-〉常规-〉项目默认值->
音视频_李超
2020/04/02
5800
TensorFlow调试技巧
TensorFlow从诞生以来就一直在深度学习框架中稳居老大的位置,虽然自从2018年12月PyTorch 1.0 stable版本正式发布以来,很快减小了差距,但是也难以超越。
用户7164815
2020/04/08
1.3K0
TensorFlow调试技巧
Chrome 调试技巧
想必大家都在用console.log在控制台输出点东西,其实console还有其它的方法:
前端教程
2018/10/25
2.4K0
Chrome 调试技巧
【开源】PyQT+Pyserial开发的串口调试工具
串口调试工具是我们做嵌入式开发常用的工具,市面上已经有很多串口调试工具了,博主写这款串口调试工具一方面是为了学习Python PyQT Pyserial 相关的知识,另一方面是也是可以为后续基于此设计更多的串口自动化工具。所以本文会详细介绍如何使用PyQT+Pyserial实现一款串口调试工具。
物联网布道师
2023/02/28
2.1K0
【开源】PyQT+Pyserial开发的串口调试工具
Android 调试技巧总结
在 Android Studio 中,最基本的以 debug 模式运行程序并打断点进行调试,相比大家都会,不过,如果遇到一些特殊的调试场景,则需要运用一些特殊的调试技巧来进行调试。
Kindem
2022/08/12
1.2K0
Android 调试技巧总结
Android调试小技巧
当我们想要用attach方式调试某个应用时,如何做到在程序启动时就下断点? 这是一个悖论:你要先启动程序,才能获取pid进行attach,但程序启动到你attach上,已经执行到老远的地方去了。 如果你可以修改源码,你可以在程序执行最初的地方去加sleep逻辑,但这个好复杂,需要重打包,有不少工作要做,下面说一个简单的技巧:
用户2930595
2018/08/23
7970
【C语言】调试技巧
各位小伙伴们大家好,我是泽奀( ̄o ̄) . 相信大家在编写C程序中会遇到很多代码的Bug.所以本篇博客就带大家如何调试C的技巧,这样在遇到有错误的代码,也不必惊慌,只需调试下,Bug就再也不会存在了哈哈哈~隔。 
謓泽
2022/12/12
8380
Python Debug调试技巧
Debug 对于任何coding人士都是一项非常重要的技能,它能够帮助我们准确的定位错误,发现程序中的 bug。有时候通过程序运行时的报错可以很容易的找到出错的位置,但是有时候必须得通过调试程序才能找出我们的错误,以下介绍一些debug调试技巧。
TechFlow-承志
2020/04/14
3.6K0
Android 调试小技巧
最近在调试公司中的Android项目时,遇到的一些问题,及时做个总结,以免后面再遇到这类问题时再浪费时间。
音视频_李超
2020/04/02
8430

相似问题

Python调试技巧

1811

Android调试技巧

52

调试UITextField的技巧

20

vhdl设计调试技巧

20

调试到Excel的技巧

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文