Camel RouteDefinition类的NoSuchMethodError

时间:2014-10-02 14:18:04

标签: java eclipse maven apache-camel nosuchmethoderror

我正在尝试调试Java / Maven项目,该项目在各种库上有很多依赖项。 当我在Linux服务器上运行它时,程序启动正常,但是当我尝试在Eclipse中运行它时会引发以下异常:

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类在camel-core-2.9.3,jar中,我可以看到这个库是导入的。那怎么会看不到那种方法呢?

我该如何调试?

我可以从Linux服务器上运行的进程获取信息吗?例如,我可以获取导入的Jars列表以及导入它们的顺序吗?

非常感谢!

1 个答案:

答案 0 :(得分:2)

您收到的错误是由Maven拉错版本引起的。尝试删除本地仓库中的所有版本,将其明确添加到您的pom中,清除所有构建版本,向日食神祈祷等等。如果它仍然给您错误,请检查您的本地仓库以查看哪个版本错误拉入,找出取决于它们的内容,并在保持显式包含的同时为它们添加明确的忽略。