Intellj IDEA+Maven如何构建多模块项目

2024-05-15 03:48

本文主要是介绍Intellj IDEA+Maven如何构建多模块项目,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

[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]

这篇关于Intellj IDEA+Maven如何构建多模块项目的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/990721

相关文章

IntelliJ IDEA2025创建SpringBoot项目的实现步骤

《IntelliJIDEA2025创建SpringBoot项目的实现步骤》本文主要介绍了IntelliJIDEA2025创建SpringBoot项目的实现步骤,文中通过示例代码介绍的非常详细,对大家... 目录一、创建 Spring Boot 项目1. 新建项目2. 基础配置3. 选择依赖4. 生成项目5.

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

java使用protobuf-maven-plugin的插件编译proto文件详解

《java使用protobuf-maven-plugin的插件编译proto文件详解》:本文主要介绍java使用protobuf-maven-plugin的插件编译proto文件,具有很好的参考价... 目录protobuf文件作为数据传输和存储的协议主要介绍在Java使用maven编译proto文件的插件

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

IDEA中新建/切换Git分支的实现步骤

《IDEA中新建/切换Git分支的实现步骤》本文主要介绍了IDEA中新建/切换Git分支的实现步骤,通过菜单创建新分支并选择是否切换,创建后在Git详情或右键Checkout中切换分支,感兴趣的可以了... 前提:项目已被Git托管1、点击上方栏Git->NewBrancjsh...2、输入新的分支的

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

springboot项目打jar制作成镜像并指定配置文件位置方式

《springboot项目打jar制作成镜像并指定配置文件位置方式》:本文主要介绍springboot项目打jar制作成镜像并指定配置文件位置方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录一、上传jar到服务器二、编写dockerfile三、新建对应配置文件所存放的数据卷目录四、将配置文