浏览 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版本也一致 郁闷,这个问题折腾了我一下午... 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-09-21
可以确定的是应该是某个jar文件冲突引起的。
|
|
返回顶楼 | |
发表时间:2007-05-16
今天偶也来这个就。。就是不知道怎么办。晕倒。
|
|
返回顶楼 | |
发表时间:2007-05-16
肯定是jdk版本不一致
比如你用1.5的编译出来,然后去1.4运行就可能出现这样的问题。 1.4编译出来的,到1.5上运行就不会有这样的问题 |
|
返回顶楼 | |