SpringBoot项目 Maven进阶 这篇就够了

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 上传到私服

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值