0
我想调试一个Java/Maven项目与很多依赖各种库。 当我在Linux服务器上运行的程序精细启动,但是当我尝试在Eclipse中运行它,它会引发以下异常:NoSuchMethodError与骆驼RouteDefinition类
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.camel.model.RouteDefinition.getErrorHandlerBuilder()Lorg/apache/camel/ErrorHandlerFactory;
at org.apache.camel.spring.spi.SpringTransactionPolicy.wrap(SpringTransactionPolicy.java:69)
at org.apache.camel.model.PolicyDefinition.createProcessor(PolicyDefinition.java:133)
at org.apache.camel.model.ProcessorDefinition.makeProcessor(ProcessorDefinition.java:437)
at org.apache.camel.model.ProcessorDefinition.addRoutes(ProcessorDefinition.java:183)
at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:817)
at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:165)
at org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:697)
at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:1654)
at org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1441)
at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1338)
at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:67)
at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:54)
at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1316)
现在,我可以看到RouteDefinition类是骆驼-core-2.9.3,jar和我可以看到这个库被导入。那么它怎么会没有看到这种方法呢?
我该如何去调试呢?
我可以从运行在Linux服务器上的进程获取信息吗?例如,我可以获取导入的罐子的列表以及它们的导入顺序吗?
非常感谢!
此库是直接依赖项还是二手的?如果你看你的本地回购是2.9.3唯一的副本? – Floegipoky 2014-10-02 14:21:54
我猜想二手货。它不在我的项目的pom.xml中,但它是从其他项目继承的。在Eclipse Maven依赖关系中,我只有2.9.3,但是如果我查看磁盘上的Maven存储库,我有许多其他版本(2.8.2,2.9.5等) – Gep 2014-10-02 14:36:29
尝试添加正确版本作为直接依赖项在你的朋友,如果你还没有 – Floegipoky 2014-10-02 14:41:53