1.pojo类和utils类通过创建Module的方式实现分模块设计
创建步骤
1.1 首先点击File创建Module,在创建Module的时候注意修改ArtifactId,然后修改Location
1.2 创建Module后要在java下创建项目的包名
1.3 将项目的pojo类或者utils类导入该创建的包名内
1.4 对于报错的pojo或者utils要注意引入对应的依赖,这样才不会报错
1.5 在使用pojo或者utils模块的 模块pom.xml文件中引入创建的pojo或者utils的依赖,这样就可以正常使用了
2.继承
在Maven中,父项目通常只包含一些配置信息,如依赖、插件、属性等,而不包含实际的代码。子项目则继承父项目的配置信息,并可以添加或覆盖一些特定的配置。通过这种方式,可以在多个子项目中共享一些公共的配置,避免重复的配置和错误。
使用方式:
1.要使用Maven继承,首先需要创建一个父项目,并在其pom.xml文件中定义一些公共的配置信息。然后,在其他子项目的pom.xml文件中,通过<parent>标签来指定父项目的坐标(groupId、artifactId和version),从而继承父项目的配置信息。
2.因为基于SpringBoot实现,所以父工程要在<parent>标签引入SpringBoot的框架
3.子工程要填写<relativePath>相对父工程的目录的路径<relativePath/>
4.因为子工程自动配置父工程的groupId,继承后就可以删除原有的groupId标签
5.在父工程配置共有的依赖
3.父工程统一管理依赖版本
在父工程的pom文件中通过<dependencyManagement>标签来统一管理依赖版本
这样子工程就不需要添加<version>标签了
注意,<dependencyManagement>标签只是管理依赖版本,并不会实现依赖的注入,所以如果需要用到相关依赖,任然需要在<dependency>标签中注入
虽然将所有依赖都放在父工程中进行版本控制,但是这任然不够方便去指定依赖的版本号,为了更加便利,可以通过在<properties>标签中统一指定依赖的版本,在<dependency>标签的<version>标签中通过${}的方式指定
以lombok 示例
properties:
<properties>
<java.version>17</java.version>
<lombok.version>1.18.30</lombok.version>
</properties>
dependency:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</dependency>
4.聚合
在Maven中,聚合(Aggregation)是另一种组织项目结构的方式,它允许你将多个Maven模块(通常是子项目)组合到一个单独的父项目下。聚合不同于继承,尽管它们经常一起使用。聚合主要是通过<modules>
元素在父项目的pom.xml
文件中列出所有子模块来实现的。
当你执行父项目的构建时(例如,通过运行mvn clean install
),Maven会自动处理所有列出的子模块,确保它们按照正确的顺序进行构建。这种机制允许你在一个统一的构建过程中管理多个相关的项目。
示例:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>parent-project</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging> <!-- 父项目必须是pom打包类型 -->
<modules>
<module>module1</module>
<module>module2</module>
<module>module3</module>
<!-- 其他模块 -->
</modules>
<!-- 父项目的依赖、插件配置等 -->
</project>
聚合后 通过父模块统一打包项目
5.私服
settings.xml
是 Maven 的配置文件,它位于 Maven 安装目录的 conf
子目录下,或者可以放在用户目录的 .m2
子目录下。这个文件主要用于配置 Maven 的运行环境和行为。settings.xml
文件包含各种配置元素,如代理设置、镜像仓库、服务器认证信息、交互模式设置等。
在 settings.xml
文件中,关于私服的设置通常包括配置镜像仓库和服务器认证信息,以便 Maven 能够从私服下载依赖和上传构建的构件。
5.1开启私服三步骤
1打开maven的settings.xml文件
username和password要根据自己的实际情况修改
在<servers>标签中加入:
<server>
<id>maven-releases</id>
<username>suixiang</username>
<password>123456</password>
</server>
<server>
<id>maven-snapshots</id>
<username>suixiang</username>
<password>123456</password>
</server>
2.在<mirrors>标签中加入:(如果之前配置过阿里云,需要直接替换)
<mirror>
<id>maven-public</id>
<mirrorOf>*</mirrorOf>
<url>http://maven-public.com/repo</url>
</mirror>
3. 在<profiles>标签中加入:
<profile>
<id>allow-snapshots</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>maven-public</id>
<url>http://maven-public.com/repo</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
5.2 将项目上传至私服
1.开启私服
2.在父模块的pom.xml文件中加入:
<distributionManagement>
<repository>
<id>maven-releases</id>
<url>http://maven-public.com/maven-releases</url>
</repository>
<snapshotRepository>
<id>maven-snapshots</id>
<url>http://maven-public.com/maven-snapshots</url>
</snapshotRepository>
</distributionManagement>
3.通过更改<version>标签 来指定是下载到发行版本还是快照版本的仓库(默认快照版本的仓库)
4.在maven中通过install 下载到本地仓库
5.通过maven的deploy 上传到私服