maven配置的层级module,子模块重写了依赖模块的类,打包后实际调用还是依赖模块的
这边web工程maven有3个相关module,base(基础框架)、core(业务)、view(调业务方法展现),其中core依赖base,view依赖core。
现在遇到的问题是base的一个类在core进行了重写,调试时没问题,项目打包后生成了base.jar和core.jar,结果工程中引用的是base.jar当中的非重写版。
请问下如何解决或者避开这个问题,或者说“重写依赖包中的类”这个行为本身就不怎么科学
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
3q
重新的话,你看原来的包还有没在用,如果没有直接删除就可以了,但是最好还是吧重写的改下包名和类名比较安全,难保以后会用到原来的,这才符合java的编程规范,要尽量避免重名类,哪怕是不同包的
既然是重写,那么packet名和类名都一样,如何指定
引用来自“Joyzhou”的评论
没太理解你的表述。
在core中重写base的类,那么在使用时应该是引用core中的类,与依赖并没有太大的关系
没太理解你的表述。
在core中重写base的类,那么在使用时应该是引用core中的类,与依赖并没有太大的关系
后者。包本身没什么问题,只是打包后没有体现maven中定义的关系
回复
本身这样就是不科学的
回复
@ksfzhaohui : 果然,3q
重写依赖包中的类是什么意思?通过继承的方式重写?还是包名和类都一样的重写?
如果是后者那还是不要的好
另外可以看下本地maven仓库中的包,把里面的包删掉后再重新install看