两个包合并我也尝试过了 虽然编辑的时候不出错了 但是运行时候还是报错
应该怎么解决啊?
13 个解决方案
#1
没有具体代码不好解决,如果jar包是自己公司的,改jar包代码行么?更新应该不会更改接口的。没有具体环境,不好说啊。
#2
class名称一样,路径也一样,tomcat会选择其中一个。
运行正常算你运气好,运行不正常,只有删了其中一个吧。把不正确的删掉
运行正常算你运气好,运行不正常,只有删了其中一个吧。把不正确的删掉
#3
555555555555我都要闯墙了
这个项目是2004年开发的 jar包是chart.jar 好像还改里面的东西了
现在连一个文档都没有 我用jfreechart1.0.8版本的jar开发 怎么融合到一起啊
这个项目是2004年开发的 jar包是chart.jar 好像还改里面的东西了
现在连一个文档都没有 我用jfreechart1.0.8版本的jar开发 怎么融合到一起啊
#4
看看具体那个类出现问题,把那个类删了,重新打包就可以了
注意先备份操作
注意先备份操作
#5
如果不能修改新版本的jar里的代码的话,看来只有2选1了。
其实修改的话也不用修改很多地方,只需要将包名改一下就行了,在不同的包,即使类名相同,你在调用的时候也能区分开
其实修改的话也不用修改很多地方,只需要将包名改一下就行了,在不同的包,即使类名相同,你在调用的时候也能区分开
#6
具体到哪个类的哪个方法。不用着急。应该坚持使用新版本,既然已经决定起用新的jar包的话。可以适当修改。
#7
用AOP吧,把那个旧的类屏蔽掉。
#8
jar包的运行和新旧没有关系吧,新的你就用新的类库,旧的就用旧类库,怎么都能运行,不会出现新旧版本导致不能运行的问题。把你运行时报的错误发上来,要不没法说。
#9
这位兄台还没理解楼主的意思吧
举个例子:
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的
#10
两个jar里面都有这个类 就是类里面的方法不一样
这两个jar我已经合并成一个了 可是我把工程生成jar之后 程序走到我新写的类就报错 狂晕
这两个jar我已经合并成一个了 可是我把工程生成jar之后 程序走到我新写的类就报错 狂晕
#11
你用新jar包 从新写下啊,开源就是这样的,你用人家的你就别说人家,没有规定说开源必须符合什么,不像微软 在新版本发布后会兼容老版本!开源只要是围绕jdk开发的东西,你爱用用,不爱用就不用,没人强迫!
解决的方法就是:你把老版本的jar重写一遍!
解决的方法就是:你把老版本的jar重写一遍!
#12
jar包冲突的根本是类名及包名重复冲突,不知道楼主的jar合并是什么意思,就是简单吧两个class文件放在一起?这个当然会出问题了
#13
我也碰到这个问题,两个不同包里的两个类名字一样,分别被不同函数调用着,调用时函数分不清去调用哪个
#1
没有具体代码不好解决,如果jar包是自己公司的,改jar包代码行么?更新应该不会更改接口的。没有具体环境,不好说啊。
#2
class名称一样,路径也一样,tomcat会选择其中一个。
运行正常算你运气好,运行不正常,只有删了其中一个吧。把不正确的删掉
运行正常算你运气好,运行不正常,只有删了其中一个吧。把不正确的删掉
#3
555555555555我都要闯墙了
这个项目是2004年开发的 jar包是chart.jar 好像还改里面的东西了
现在连一个文档都没有 我用jfreechart1.0.8版本的jar开发 怎么融合到一起啊
这个项目是2004年开发的 jar包是chart.jar 好像还改里面的东西了
现在连一个文档都没有 我用jfreechart1.0.8版本的jar开发 怎么融合到一起啊
#4
看看具体那个类出现问题,把那个类删了,重新打包就可以了
注意先备份操作
注意先备份操作
#5
如果不能修改新版本的jar里的代码的话,看来只有2选1了。
其实修改的话也不用修改很多地方,只需要将包名改一下就行了,在不同的包,即使类名相同,你在调用的时候也能区分开
其实修改的话也不用修改很多地方,只需要将包名改一下就行了,在不同的包,即使类名相同,你在调用的时候也能区分开
#6
具体到哪个类的哪个方法。不用着急。应该坚持使用新版本,既然已经决定起用新的jar包的话。可以适当修改。
#7
用AOP吧,把那个旧的类屏蔽掉。
#8
jar包的运行和新旧没有关系吧,新的你就用新的类库,旧的就用旧类库,怎么都能运行,不会出现新旧版本导致不能运行的问题。把你运行时报的错误发上来,要不没法说。
#9
这位兄台还没理解楼主的意思吧
举个例子:
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的
#10
两个jar里面都有这个类 就是类里面的方法不一样
这两个jar我已经合并成一个了 可是我把工程生成jar之后 程序走到我新写的类就报错 狂晕
这两个jar我已经合并成一个了 可是我把工程生成jar之后 程序走到我新写的类就报错 狂晕
#11
你用新jar包 从新写下啊,开源就是这样的,你用人家的你就别说人家,没有规定说开源必须符合什么,不像微软 在新版本发布后会兼容老版本!开源只要是围绕jdk开发的东西,你爱用用,不爱用就不用,没人强迫!
解决的方法就是:你把老版本的jar重写一遍!
解决的方法就是:你把老版本的jar重写一遍!
#12
jar包冲突的根本是类名及包名重复冲突,不知道楼主的jar合并是什么意思,就是简单吧两个class文件放在一起?这个当然会出问题了
#13
我也碰到这个问题,两个不同包里的两个类名字一样,分别被不同函数调用着,调用时函数分不清去调用哪个