Intellj IDEA+Maven如何构建多模块项目 水深无声 2022-04-12 10:22 308阅读 0赞 \[size=large\]在使用Java构建大型企业级项目时,我们一般更倾向于分层,分模块,分服务,分功能开发,这样搞的目的只有一个就是以高内聚,低耦合方式来提高整个项目的灵活性,扩展性,复用性,当然,这里面蕴含的思想与Java的设计模式和开发原则是非常类似的,因为大公司的项目的结构一般都非常复杂,只有提前规划好开发模式,才能在以后不断扩展,迭代,重构时减少出现牵一发而动全身的情况。 企业级项目,一般都会使用Maven来构建管理项目,如何在使用maven构建一个多模块的项目呢? 假设现在我们要开发一个web项目,现在分为1个父模块,4个子模块,结构以及依赖关系如下:\[/size\] \[img\]http://dl2.iteye.com/upload/attachment/0111/3793/108a1414-06e9-3937-9523-adf7a9031a27.png\[/img\] \[size=large\]idea里面的截图展示如下:\[/size\] \[img\]http://dl2.iteye.com/upload/attachment/0111/3795/27bd9af4-62eb-3efe-a63d-3fc5caaca5fb.png\[/img\] \[size=large\]步骤如下: 1,首先在idea里面File ->New Project->Next然后输入相关的坐标, 新建一个空的maven项目,作为父项目使用,创建完成之后,可将其src目录删掉,然后更改其pom属性为:\[/size\] \[img\]http://dl2.iteye.com/upload/attachment/0111/3799/da717916-a76c-35f4-95d6-ecda30d8d385.png\[/img\] \[size=large\]2,接着依次File ->New Module->选择archetype->然后输入相关坐标,新建4个module:dao , service,share-tools , web-app,需要注意的是,散仙web使用的是spring-boot项目,所以4个模块都是普通的maven就可以,类似如果你的web层使用的不是spring-boot,那么久需要在web-app模块选择时,选择maven-archetype-webapp 3,创建完成之后,我们就模拟一个分层协作的例子,先看下dao里面模拟的数据:\[/size\] \[img\]http://dl2.iteye.com/upload/attachment/0111/3797/8f54d4ad-21b8-3e30-9e30-07167ca05d79.png\[/img\] \[size=large\]然后用户访问的web页面展示如下:\[/size\] \[img\]http://dl2.iteye.com/upload/attachment/0111/3801/585bf6e3-fcda-30c3-a4e8-20ae198af354.png\[/img\] \[size=large\]ok,web上展示是这样的,但是实际内部的他们的调用关系,和文章开头的图里那样,web-app调用service,service先调用dao拿到数据,然后接着调用通用的工具类,对数据进行转小写,然后返回给最终的前台。 4,项目的源码例子,会放在文末附件中,最后,说一下几个关键点 (1)包命名方式需要统一,无论在web-app,service,share-tools 还是 dao层中,前缀包名最好保持一致,比如以com.easy开头,然后各个模块分别是com.easy.xxx (2)模块和模块之间有依赖时,在分层package时,需要注意把依赖模块的jar导入对应的模块中,当然如果你们有自己的私服,那么就直接发布到私服上,然后引入就行了,如果没有私服,最好在父层pom下构建打包,这样你就不需要关心依赖的问题,父pom会组织所有的模块,然后正确的找到依赖,进行构建:\[/size\] \[img\]http://dl2.iteye.com/upload/attachment/0111/3803/10bd1950-93d9-309f-a5b0-898e988d51fe.png\[/img\] \[size=large\](3)所有的版本号,或者共享的属性,都应该在父pom中定义,这样每个继承父模块的module都会得到统一的版本\[/size\] \[b\]\[color=green\]\[size=large\] 最后欢迎大家扫码关注微信公众号:我是攻城师(woshigcs),我们一起学习,进步和交流!(woshigcs) 本公众号的内容是有关搜索和大数据技术和互联网等方面内容的分享,也是一个温馨的技术互动交流的小家园,有什么问题随时都可以留言,欢迎大家来访! \[/size\]\[/color\]\[/b\] \[img\]http://dl2.iteye.com/upload/attachment/0104/9948/3214000f-5633-3c17-a3d7-83ebda9aebff.jpg\[/img\]
相关 Java多模块项目构建:如何设计和管理大型Java项目? 设计和管理大型Java项目需要遵循一些最佳实践。以下是一些主要的设计和管理策略: 1. **模块化设计**:将项目分解为多个小型、独立的模块,每个模块负责一个特定的功能。 迷南。/ 2024年09月16日 06:03/ 0 赞/ 14 阅读
相关 Java多模块项目构建:如何通过Maven进行模块化开发? 在Java中,Maven是一种流行的构建工具,它特别适用于大型、复杂项目的管理。以下是如何通过Maven进行模块化开发的步骤: 1. **创建项目结构**: Maven 短命女/ 2024年09月10日 12:51/ 0 赞/ 16 阅读
相关 SpringBoot 多模块项目构建(父/子模块) 多模块项目 使用 SpringBoot 开发 Web 项目,如果项目整体不太复杂,无需使用微服务架构,为了开发的便利性可以采用 Maven 的多模块项目结构。 Spri ﹏ヽ暗。殇╰゛Y/ 2023年10月13日 22:23/ 0 赞/ 98 阅读
相关 springboot多模块项目构建 > 参考资料 > https://juejin.im/post/6844903893487321101 基础架构 父module 创建一个springboot 向右看齐/ 2022年12月17日 13:53/ 0 赞/ 216 阅读
相关 Maven多模块项目构建 划分多模块项目的原因 多人协作的Maven管理的真实的项目可以选择分模块,每个模块都对应着一个pom.xml。它们之间通过继承和聚合(也称作多模块,multi-modul ゝ一纸荒年。/ 2022年07月19日 01:27/ 0 赞/ 363 阅读
相关 Maven反应堆 多模块项目指定构建某个模块 在默认情况下,Maven会根据多模块配置构建所有的模块,Maven还会根据模块间的依赖关系自动计算构建顺序,以确保被依赖的模块会先得以构建。值得一提的是,在这种情形下,Mave 谁借莪1个温暖的怀抱¢/ 2022年05月20日 05:21/ 0 赞/ 317 阅读
相关 Intellj IDEA+Maven如何构建多模块项目 \[size=large\]在使用Java构建大型企业级项目时,我们一般更倾向于分层,分模块,分服务,分功能开发,这样搞的目的只有一个就是以高内聚,低耦合方式来提高整个项目的灵 水深无声/ 2022年04月12日 10:22/ 0 赞/ 309 阅读
相关 intellij构建多模块项目 1.新建sailfish总目录, 2.新建maven项目,并将其手动移入sailfish,再用intellij打开该项目, <groupId>com.rainbow 快来打我*/ 2022年03月30日 14:38/ 0 赞/ 244 阅读
相关 Maven构建多模块项目 摘要:本文要用Maven来构建一个多模块的web项目 项目结构如下: system-parent |----pom.xml - 日理万妓/ 2021年09月10日 13:28/ 0 赞/ 530 阅读
还没有评论,来说两句吧...