先说一下环境,我们使用eclipse开发的。里面有四个工程A,B,C和S。其中A是数据层的工程,专门用于数据库操作,B和C都引用A;B是共用参数,共用方法所在地一个工程,所以C引用B。因为我们做到是国外的一个项目,链接不到那里的sap,所以他们给我们做了一个当地sap的模拟工程S,B本来是引用S的。  现在问题来了,最近测试的时候发现报错,查下来是S这个模拟器不对。后来和国外他们说,他们又发来一个S的jar包,让我们引用jar包试一下。于是我就在B的builpath里把引用S去除,再引用上S的jar包。怪事来了,明明是引用的jar包,断点怎么会跑进S的工程里面去?工程都clean过得,class文件是最新的。难道工程和同一工程的jar包不能同时存在?

解决方案 »

  1.   

    我clean过了啊。难道还要把classes里的全部删掉?。另外,还想问下,如果同时引用一个工程和该工程的jar包,有没有优先级的说法?
      

  2.   

    没太看明白你的问题,不过在Eclipse中,class文件的装载优先级,一般比JAR包更高。
      

  3.   

    比方说,T是一个工程,把他打成jar包,叫做T.JAR好了。那么同时引用T和T.JAR是不行的,所以如果你确定用jar包的话,必须把T工程给彻底删除了(点击工程右键CloseProject也不行),来防止T自动编译成class文件。是这样么?
      

  4.   

    你这里开始的S和后给你的那个jar包,有相同类。就像你说的,等于一个源文件,然后把它打成jar包,同时放到工程里。这样是有问题,项目肯定先执行你的源代码编译的class,也就等于debug时,断点会进源文件的,那个jar等于没用到。
      

  5.   

    ok,今天问题解决。在workspace把S工程都删了,再引用jar包