论坛首页 Java企业应用论坛

莫名的java.lang.VerifyError错误!

浏览 8110 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-09-21  
测试例子:
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版本也一致
郁闷,这个问题折腾了我一下午...
   发表时间:2006-09-21  
可以确定的是应该是某个jar文件冲突引起的。
0 请登录后投票
   发表时间:2007-05-16  
今天偶也来这个就。。就是不知道怎么办。晕倒。
0 请登录后投票
   发表时间:2007-05-16  
肯定是jdk版本不一致
比如你用1.5的编译出来,然后去1.4运行就可能出现这样的问题。
1.4编译出来的,到1.5上运行就不会有这样的问题
1 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics