新学java,被这个问题折磨了好几天,大家帮帮忙。有两个jar, a.jar, b.jar
a.jar中有package a,其中有一个抽象类baseone.javab.jar中有package b,共有三个类,类test.java继承自baseone.java,而类testsub1.java继承自test.java,另有一个类ent.java中import并使用了test跟testsub1。部署的时候这两个jar放在同一目录下,执行的时候走到初始化ent类时出错,NoClassDefFoundError提示说找不到基类baseone。但如果我在ent.java中只import并使用test,而不引入testsub1,则没有这个错。请问可能是什么原因。

解决方案 »

  1.   

    这会儿不在公司,没法拷代码,其实特别简单,baseone中除了一个abstract的方法之外什么也没有,test中就override了这个方法,方法体中也只有一行,就是return null。testsub1继承自test,啥也不做。我在ent.java中使用就是其实就是一行:
    test i=new testsub1();
    为此import进来了test跟testsub1后来我发现,如果我只import test或者只import testsub1都没有问题。
    两者同时import,出现找不到基类baseone的错误。
      

  2.   

    楼主还是贴下代码吧,按照楼主的说法,同一个package里不需要import test 和testsub1,自动就可以调用test,和testsub1类的方法。干嘛还要用import呢