java.lang.VerifyError, Incompatible argument to function

問題:
     在搞QuickFIXJ 的時候,遇到:

Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.xmlasia.fox.fix.server.GatewayConnector]: Constructor threw exception; nested exception is java.lang.VerifyError
class: org/quickfixj/jmx/mbean/session/SessionAdmin, method: resetSequence signature: (I)V) Incompatible argument to function
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:111)
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87)
    at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:237)
    ... 49 more
Caused by: java.lang.VerifyError: (class: org/quickfixj/jmx/mbean/session/SessionAdmin, method: resetSequence signature: (I)V) Incompatible argument to function
    at org.quickfixj.jmx.mbean.session.SessionJmxExporter.export(SessionJmxExporter.java:28)
    at org.quickfixj.jmx.mbean.connector.ConnectorJmxExporter.export(ConnectorJmxExporter.java:66)
    at org.quickfixj.jmx.mbean.connector.ConnectorJmxExporter.export(ConnectorJmxExporter.java:46)
    at org.quickfixj.jmx.JmxExporter.export(JmxExporter.java:60)

原因: 版本沖突,用maven 管理classpath,但classpath里至少有兩個jar里有一樣的class,一個是用1.5build(QuickFIXJ),一個是用1.6build(自己的jar),在JMX Export的時候,拿了1.6的class放到1.5中。


辦法: 可通過maven dependency的priority, 因為dependency在pom.xml的先后是會造成其在classpath的優先順序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值