莫名的java.lang.VerifyError错误!

测试例子:
public class DaoAgent extends BaseDaoAgent{
  public DaoAgent(){
    this.initialize(TestDAO.class);
  }

  public static void main(String[] args){
      DaoAgent agent=new DaoAgent();
  }

initialize是通过Reflect获得指定类所需方法存储到Hashtable
实现如下
	protected void initialize(Class clazz) {
		try {
			if (ComDAO.class.isAssignableFrom(clazz)) {
				Object instance = ReflectUtils.objectInstance(clazz);
				Method[] methods = instance.getClass().getMethods();
				for (int i = 0; i < methods.length; i++) {
					if(ComOutput.class.isAssignableFrom(methods[i].getReturnType())){
						daoMapping.put(methods[i].getName(), instance);	
					}
				}
			} else {
				throw new SystemException("初始化异常,类{0}必须继承于ComDAO!",new String[]{clazz.getName()});
			}
		} catch (Exception e) {
			throw new SystemException("初始化异常",e);
		}

	}


TestDAO类
public class TestDAO extends ComDAO {
    ...
    public ComOutput getShowNum() throws Exception{
    ....
   }
   ...

以上代码在Eclipse写的工具类,测试没问题,但在Jbuilder2006用该工具类测试有以下怪现状:
1)在Jbuilder开发环境测试出现java.lang.VerifyError
     //Exception in thread "main" java.lang.VerifyError: (class: example/TestDAO, method: getShowNum signature: ()Lcom//util/ComOutput;) Incompatible object argument for function call
2)当getShowNum()方法直接return null;测试通过
2)自己在Eclipse测试的时候完全没问题
3)JDK版本也一致
郁闷,这个问题折腾了我一下午...

你可能感兴趣的:(java,eclipse,jdk,thread,JBuilder)