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