现在有两个类,一个是n多年前写的类,一个是最近开发的,导入老版本的jar包很久以前写的运行正常,导入新版本jar最近开发的运行正常,怎么能在Eclipse或者程序能指定单独一个类只调用指定的jar包吗? 或者有其他的办法两个包合并我也尝试过了  虽然编辑的时候不出错了  但是运行时候还是报错
应该怎么解决啊?

解决方案 »

  1.   

    没有具体代码不好解决,如果jar包是自己公司的,改jar包代码行么?更新应该不会更改接口的。没有具体环境,不好说啊。
      

  2.   

    class名称一样,路径也一样,tomcat会选择其中一个。
    运行正常算你运气好,运行不正常,只有删了其中一个吧。把不正确的删掉
      

  3.   

    555555555555我都要闯墙了   
    这个项目是2004年开发的  jar包是chart.jar   好像还改里面的东西了 
    现在连一个文档都没有   我用jfreechart1.0.8版本的jar开发  怎么融合到一起啊
      

  4.   

    如果不能修改新版本的jar里的代码的话,看来只有2选1了。其实修改的话也不用修改很多地方,只需要将包名改一下就行了,在不同的包,即使类名相同,你在调用的时候也能区分开
      

  5.   

    具体到哪个类的哪个方法。不用着急。应该坚持使用新版本,既然已经决定起用新的jar包的话。可以适当修改。
      

  6.   

    用AOP吧,把那个旧的类屏蔽掉。
      

  7.   

    jar包的运行和新旧没有关系吧,新的你就用新的类库,旧的就用旧类库,怎么都能运行,不会出现新旧版本导致不能运行的问题。把你运行时报的错误发上来,要不没法说。
      

  8.   


    这位兄台还没理解楼主的意思吧
    举个例子:old.jar和new.jar两个jar包都引入到项目里了
    old.jar有个类com.test.Help
    这个类里有个方法在项目里用到了
    new.jar里也有个类com.test.Help
    这个类里也有个方法在项目的其他地方用到了那么你在
    import com.test.Help;
    的时候,到底是导入哪个jar包里的Help类呢?JVM它不会知道你是用old.jar还是new.jar的
      

  9.   

    两个jar里面都有这个类  就是类里面的方法不一样  
    这两个jar我已经合并成一个了   可是我把工程生成jar之后 程序走到我新写的类就报错 狂晕
      

  10.   

    你用新jar包 从新写下啊,开源就是这样的,你用人家的你就别说人家,没有规定说开源必须符合什么,不像微软 在新版本发布后会兼容老版本!开源只要是围绕jdk开发的东西,你爱用用,不爱用就不用,没人强迫!解决的方法就是:你把老版本的jar重写一遍!
      

  11.   

    jar包冲突的根本是类名及包名重复冲突,不知道楼主的jar合并是什么意思,就是简单吧两个class文件放在一起?这个当然会出问题了