IDEA中的Project与Module的概念及使用方法

本文详细介绍了IntelliJ IDEA中的Project和Module概念,如何通过模块化结构提高代码复用性和管理大型项目。讲解了如何配置父子工程版本管理、模块引用和依赖继承,以及将功能模块拆分到多个Project中以增强灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概念

在 IntelliJ IDEA 中,没有类似于 Eclipse 工作空间(Workspace)的概念,而是提出了Project和Module这两个概念。一个Project是由一个或多个Module组成。

待补入本文

Project

Project是IntelliJ IDEA中开发工作的顶级组织单位。在其完成形式中,Project可能代表一个完整的软件解决方案。项目是以下各项的集合:

  • 您的工作结果:源代码、构建脚本、配置文件、文档、工件等。
  • 用于开发、编译、运行和测试代码的SDK和库。
  • 在项目context中的【工作首选项/偏好】的项目设置。

Module

ModuleProject的一部分,是“单元、模块、功能块”之意。您可以独立编译、运行、测试和调试。Module是一种在维护公共(Project)配置的同时降低大型项目复杂性的方法——自认,其逻辑是将使用相同配置不同项目作为Module置于一个Project中?Module是可重用的:如有必要,一个Module可以出现在多个Project中。

自认,是SprintBoot的部件级项目

使用方法

目前自己对于IDEA将原本的工程分为ProjectModule的理解是

将使用相同配置的不同项目作为Module放入同一Project,以提高相同配置的复用性

若是团队开发,极容易出现版本号冲突现象。可以利用父工程声明版本号,子工程继承。
父工程 pom.xml:

		<dependency> 
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>4.3.4.RELEASE</version> 
            <scope>compile</scope>
        </dependency>       

子工程,不需要version标签:

<dependency> 
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
	   <!-- <version>4.3.4.RELEASE</version> -->
            <scope>compile</scope>
        </dependency>       

父工程复合子工程时父子工程各自pom文件的设置

在子工程pom.xml文件中添加父工程的引用
	<!-- 子工程中声明父工程 -->
    <parent>
        <groupId>com.web.maven</groupId>
        <artifactId>Parent</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <!-- 以当前文件为基准的父工程的pom.xml文件的相对路径 -->
        <relativePath>../Parent/pom.xml</relativePath>
    </parent>
将子工程的pom.xml文件中与父工程重复的坐标删除

只留下artifactId !!!

<modelVersion>4.0.0</modelVersion>
    <!--公司或组织域名倒序+项目名-->
<!--    <groupId>com.atguigu.maven</groupId> -->
    <!-- 项目名不是类名-->
    <artifactId>Hello</artifactId>
    <!-- 版本号 -->
<!--    <version>0.0.1-SNAPSHOT</version> -->

在父工程的pom文件中添加了依赖,子工程的pom文件仍要添加该依赖,只是groupId和artifactId必须有,其余可以继承使用

其实很好理解,子工程中需要哪些jar包,自己定义在自己的pom文件中,版本等其余信息若缺少,则使用父工程的。若子工程的pom文件连groupId和artifactId都不需要,全盘继承自父工程,则会产生大量子工程中不需要的jar包,而在此章节中的前提下,每个module是一个单独的项目,若含有大量不需要的jar包,则产生冗余

将一个项目作为一个Project,项目中的各个功能分别作为对应的Module,一个Module可以出现在多个Project中,以提高相同功能的复用性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值