美文网首页maven
Maven 同时引用不兼容新老版本jar中的同名class冲突问

Maven 同时引用不兼容新老版本jar中的同名class冲突问

作者: 极简架构 | 来源:发表于2020-03-27 11:08 被阅读0次

    问题:

    在tomcat里的同一个app里,已经有个old version的class被别人用到(也加到dependency里面了),我有个新的功能开发,里面引用了一个该class的最新的版本,我怎么在我的jar包里面隔离另一个旧版本的class?

    类重定位

    官网是“Relocating Classes”,如果一个uber-jar会被其他项目引用,uber-jar中依赖的类可能会导致类定位冲突(由于不同版本的jar包引起),我们可以通过shade插件来将被隐藏的类重定位以使该类只在该uber-jar中使用,这种方式也经常被用来解决jar包冲突问题。

    让 org.codehaus.plexus.util 包和它的子包移动到 org.shaded.plexus.util包中,而类Xpp3Dom和其他的一些则保留在原来的package中。

    参考链接

    https://blog.csdn.net/qq_35799003/article/details/70226547

    相关文章

      网友评论

        本文标题:Maven 同时引用不兼容新老版本jar中的同名class冲突问

        本文链接:https://www.haomeiwen.com/subject/xefluhtx.html