Maven高级(模块间的聚合,继承,,私服搭建等)

Maven高级

今天介绍以下几个内容:

  1. 聚合
  2. 继承
  3. 属性
  4. 版本管理
  5. 资源配置
  6. 多环境开发配置
  7. 跳过测试
  8. 私服
聚合

创建一个父类工程,在pom文件中配置:

 <!--聚合父项目指定打包方式为pom-->
    <packaging>pom</packaging>

    <!--指定管理的子项目-->
    <modules>
        <module>../../ssm_pojo</module>
        <module>../../ssm_dao</module>
        <module>../../ssm_service</module>
        <module>../../ssm_controller</module>
    </modules>
继承

在子工程pom文件中配置父类工程依赖:

<parent>
        <groupId>com.ys</groupId>
        <artifactId>ssm</artifactId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../springmvc_ssm/ssm/pom.xml</relativePath>
    </parent>

在父类工程中定义管理依赖:

<dependencyManagement>
        <dependencies>
            <!--导入资源文件pojo-->
            <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.1.9.RELEASE</version>
        </dependency>
        </dependencies>
</dependencyManagement>

在子工程中添加依赖,并且不用再指定依赖的版本,版本统一按照父类工程的执行:

<!--spring环境-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
        </dependency>

在这里插入图片描述

属性
  1. 自定义属性
    在父工程的pom配置文件中定义:
<properties>
        <spring.version>5.1.9.RELEASE</spring.version>
        <junit.version>4.12</junit.version>
    </properties>

使用属性:${spring.version}

<!--spring环境-->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>${spring.version}</version>
            </dependency>
  1. 内置属性
    在这里举例两个内置属性:${project.basedir} , ${project.version}
<resources>
            <resource>
                <directory>${project.basedir}/src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
<dependency>
                <groupId>com.ys</groupId>
                <artifactId>ssm_pojo</artifactId>
                <version>${project.version}</version>
            </dependency>
  1. Setting属性
    使用Maven配置文件setting.xml中的标签属性,用于动态配置
${settings.localRepository}
  1. Java系统属性
    读取Java系统属性:
${user.home}
  1. 环境变量属性
    使用Maven配置文件setting.xml中的标签属性,用于动态配置:
${env.JAVA_HOME}
版本管理

在这里插入图片描述

在这里插入图片描述

资源配置

将工程中的资源配置到pom文件中
例如:jdbc.properties

#使用Maven中的资源管理,配置在ssm中的pom.xml中
jdbc.driver=${jdbc.driver}
jdbc.url=${jdbc.url}
jdbc.username=${jdbc.username}
jdbc.password=${jdbc.password}

在父工程的配置文件中:

  <properties>
        <jdbc.driver>com.mysql.jdbc.Driver</jdbc.driver>
        <jdbc.url>jdbc:mysql://localhost:3306/ssmdb</jdbc.url>
        <jdbc.username>root</jdbc.username>
        <jdbc.password>root</jdbc.password>
    </properties>
 <!--扫描工程所在目录的资源文件-->
<resources>
            <resource>
                <directory>${project.basedir}/src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
多环境开发配置

在父工程的pom配置文件中配置:

<profiles>
        <profile>
            <!--配置此开发环境的唯一id-->
            <id>dep_env</id>
            <!--配置开发环境需要的资源属性-->
            <properties>
                <jdbc.driver>com.mysql.jdbc.Driver</jdbc.driver>
                <jdbc.url>jdbc:mysql://localhost:3306/ssmdb</jdbc.url>
                <jdbc.username>root</jdbc.username>
                <jdbc.password>root</jdbc.password>
            </properties>

            <!--设置此环境为默认的启动环境-->
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>

        <profile>
            <!--配置测试环境id-->
            <id>test_env</id>
            <properties>
                <jdbc.driver>com.mysql.jdbc.Driver</jdbc.driver>
                <jdbc.url>jdbc:mysql://localhost:3306/testdb</jdbc.url>
                <jdbc.username>root</jdbc.username>
                <jdbc.password>root</jdbc.password>
            </properties>
        </profile>
    </profiles>

加载指定环境配置:

mvn 指令 –P 环境id
跳过测试

在这里介绍两种方式:

  • 直接在Maven的生命周期中将test设为Skip Tests
    在这里插入图片描述
  • 使用Maven插件Maven Helper启动指令:
mvn instal -D skipTests (可以省略mvn)

在这里插入图片描述
在这里插入图片描述

私服

本次搭建私服使用Nexus服务器,先介绍一下资源在私服的获取方式:
在这里插入图片描述
Nexus下载地址
在这里插入图片描述
在私服的仓库分类:
在这里插入图片描述
启动私服,使用浏览器访问私服:

http://localhost:8081

在这里插入图片描述
创建两个仓库,加入到仓库组中,下面的步骤会用到:
在这里插入图片描述
创建的步骤就不截图了,很简单
在这里插入图片描述
在这里插入图片描述

在IDEA中的资源上传与下载
在这里插入图片描述

第一步:在Maven的安装目录中找到setting.xml文件,修改配置如下
在servers标签中加入

<server>
      <id>ys-release</id>
      <username>admin</username>
      <password>admin</password>
    </server>
	
	<server>
      <id>ys-snapshots</id>
      <username>admin</username>
      <password>admin</password>
    </server>

在mirrors标签中加入

<!--自定义的私服 -->
	<mirror>  
	<id>nexus-ys</id>  
	<mirrorOf>*</mirrorOf>    
	<url>http://localhost:8081/repository/maven-public/</url>  
    </mirror>

url标签就粘贴自己加入的仓库组的地址:
在这里插入图片描述
第二步:在IDEA中配置对应的仓库和私服地址:
在父工程的pom文件中配置:

 <!--私服上传管理-->
    <distributionManagement>
        <repository>
            <!--上传到私服的哪个仓库-->
            <id>ys-snapshots</id>
            <!--私服仓库的url-->
            <url>http://localhost:8081/repository/ys-snapshots/</url>
        </repository>
    </distributionManagement>

第三步:在Maven的生命周期处点击deploy就可以上传到私服仓库

在这里插入图片描述

在这里插入图片描述
如果有不恰当的地方,欢迎指正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值