对于maven, 很多人看似很熟悉,其实貌似根本不了解,本文旨在解决某些方面的疑惑。
当我在service模块引入公司某业务的一个接口,由于该接口依赖了公司写的各种东西和spring等第三方依赖,所以我一下子啥都不用显示依赖了,这叫传递性。而dependencyManagement的作用在于仍然让子模块显示写依赖,但依赖的版本和设置不用写了,简化了。关于jar包的传递依赖,你可以在idea的maven窗口中选定子模块右键show dependencies。
在idea环境中,有时你不得不执行reimport和clean,才能看到jar包引入。另外,请注意你写的version是仓库中确实存在的。
如果公司没有maven私服,完全依赖apache maven库,也许是够用的,碰到其他公司的接口需要你引入他们的jar包时,可以把jar包放在jvm/ext/lib下。
值得一提的是,在模块组织方面,你完全可以把紧密相关的几个系统的放在一起,各个系统的web模块公用一套common, do及dao模块,而不必为每个系统打开一个idea窗口。
时间: 2024-10-04 15:54:20