Maven高级-属性-版本管理-资源配置-多环境开发配置-跳过测试

Maven高级-属性

4.2)属性类别

1.自定义属性

2.内置属性

3.Setting属性

4.Java系统属性

5.环境变量属性

4.3)属性类别:自定义属性

作用

  • 等同于定义变量,方便统一维护

定义格式:

<!--定义自定义属性-->
<properties>
    <spring.version>5.1.9.RELEASE</spring.version>
    <junit.version>4.12</junit.version>
</properties>
  • 聚合与继承的pom.xml文件打包方式均为pom,可以将两种关系制作到同一个pom文件中

  • 聚合与继承均属于设计型模块,并无实际的模块内容

调用格式:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>${spring.version}</version>
</dependency>

4.4)属性类别:内置属性

作用

  • 使用maven内置属性,快速配置

调用格式:

${basedir}
${version}

4.5)属性类别:Setting属性

作用

  • 使用Maven配置文件setting.xml中的标签属性,用于动态配置

调用格式:

${settings.localRepository} 

4.6)属性类别:Java系统属性

作用

  • 读取Java系统属性

调用格式

${user.home} 

系统属性查询方式

mvn help:system 

4.7)属性类别:环境变量属性

作用

  • 使用Maven配置文件setting.xml中的标签属性,用于动态配置

调用格式

${env.JAVA_HOME} 

环境变量属性查询方式

mvn help:system 

在这里插入图片描述

 <!--定义自定义属性-->
    <properties>
        <spring.version>5.1.9.RELEASE</spring.version>
        <junit.version>4.12</junit.version>
    </properties>

版本管理

在这里插入图片描述

5)版本管理

工程版本

  • SNAPSHOT(快照版本)

    • 项目开发过程中,为方便团队成员合作,解决模块间相互依赖和时时更新的问题,开发者对每个模块进行构建的时候,输出的临时性版本叫快照版本(测试阶段版本)

    • u快照版本会随着开发的进展不断更新

  • RELEASE(发布版本)

    • u项目开发到进入阶段里程碑后,向团队外部发布较为稳定的版本,这种版本所对应的构件文件是稳定的,即便进行功能的后续开发,也不会改变当前发布版本内容,这种版本称为发布版本

工程版本号约定

约定规范:

  • <主版本>.<次版本>.<增量版本>.<里程碑版本>

  • 主版本:表示项目重大架构的变更,如:spring5相较于spring4的迭代

  • 次版本:表示有较大的功能增加和变化,或者全面系统地修复漏洞

  • 增量版本:表示有重大漏洞的修复

  • 里程碑版本:表明一个版本的里程碑(版本内部)。这样的版本同下一个正式版本相比,相对来说不是很稳定,有待更多的测试

范例:

  • 5.1.9.RELEASE

资源配置

6)资源配置

6.1)资源配置多文件维护

6.2)配置文件引用pom属性

  • 作用
    • 在任意配置文件中加载pom文件中定义的属性
  • 调用格式
${jdbc.url} 
  • 开启配置文件加载pom属性

    <!--配置资源文件对应的信息-->
    <resources>
        <resource>
            <!--设定配置文件对应的位置目录,支持使用属性动态设定路径-->
            <directory>${project.basedir}/src/main/resources</directory>
            <!--开启对配置文件的资源加载过滤-->
            <filtering>true</filtering>
        </resource>
    </resources>
    

在这里插入图片描述

<!--配置资源文件对应得信息-->
        <resources>
            <resource>
        <!--<directory>../ssm_dao/src/main/resources</directory>-->
                <directory>${project.basedir}/src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>

        <!--配置测试资源文件对应得信息-->
       <testResources>
           <testResource>
               <!--<directory>../ssm_dao/src/main/resources</directory>-->
               <directory>${project.basedir}/src/test/resources</directory>
               <filtering>true</filtering>
           </testResource>
       </testResources>
  <!--定义自定义属性-->
    <properties>
        <spring.version>5.1.9.RELEASE</spring.version>
        <junit.version>4.12</junit.version>
        <jdbc.url>jdbc:mysql://localhost:3306/ssm_db</jdbc.url>
    </properties>

在这里插入图片描述

多环境开发配置

<!--创建多环境-->
<profiles>
    <!--定义具体的环境:生产环境-->
    <profile>
        <!--定义环境对应的唯一名称-->
        <id>pro_env</id>
        <!--定义环境中专用的属性值-->
        <properties>
            <jdbc.url>jdbc:mysql://127.1.1.1:3306/ssm_db</jdbc.url>
        </properties>
        <!--设置默认启动-->
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>
    <!--定义具体的环境:开发环境-->
    <profile>
        <id>dev_env</id>
        ……
    </profile>
</profiles>

7.3)加载指定环境

作用

  • 加载指定环境配置

调用格式

mvn 指令 –P 环境定义id

范例

mvn install –P pro_env
 <!--创建多环境-->
    <profiles>
    <!--定义具体的环境:生产环境-->
        <profile>
            <!--定义环境对应的唯一名称-->
            <id>pro_env</id>
            <!--定义环境中换用的属性值-->
            <properties>
                <jdbc.url>jdbc:mysql://localhost:3306/ssm_db</jdbc.url>
            </properties>
            <!--设置默认启动-->
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
    <!--定义具体的环境:开发环境-->
        <profile>
            <id>dep_env</id>

            <!--定义环境中换用的属性值-->
            <properties>
                <jdbc.url>jdbc:mysql://localhost:3306/ssm_db</jdbc.url>
            </properties>

        </profile>
    </profiles>

跳过测试

8)跳过测试

8.1)跳过测试环节的应用场景

整体模块功能未开发

模块中某个功能未开发完毕

单个功能更新调试导致其他功能失败

快速打包

……

8.2)使用命令跳过测试

命令

mvn 指令 –D skipTests

注意事项

  • 执行的指令生命周期必须包含测试环节

8.3)使用界面操作跳过测试

8.4)使用配置跳过测试

<plugin>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.22.1</version>
    <configuration>
        <skipTests>true</skipTests><!--设置跳过测试-->
        <includes> <!--包含指定的测试用例-->
            <include>**/User*Test.java</include>
        </includes>
        <excludes><!--排除指定的测试用例-->
            <exclude>**/User*TestCase.java</exclude>
        </excludes>
    </configuration>
</plugin>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Maven插件是一种可插拔的工具,可以在Maven构建过程中执行特定的任务。其中,maven-dependency-plugin和maven-surefire-plugin是两个常用的插件。 maven-dependency-plugin插件可以用来管理项目依赖,可以帮助我们列出项目中的依赖关系,复制依赖文件到指定目录,解压依赖文件等。常用的配置包括: - list:列出项目依赖 - copy-dependencies:将所有依赖文件复制到指定目录 - unpack:解压指定的依赖文件 maven-surefire-plugin插件则是用来执行项目的单元测试的。它可以在Maven构建过程中自动执行单元测试,并生成测试报告。常用的配置包括: - includes/excludes:指定要执行的测试类或排除的测试类 - parallel:指定测试是否并行执行 - reportsDirectory:指定测试报告生成的目录 在POM文件中配置这两个插件,可以通过以下方式: ``` <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>3.2.0</version> <executions> <execution> <id>copy-dependencies</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/lib</outputDirectory> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>3.0.0-M5</version> <configuration> <includes> <include>**/*Test.java</include> </includes> <parallel>methods</parallel> <threadCount>10</threadCount> <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory> </configuration> </plugin> </plugins> </build> ``` 以上是一个简单的POM文件中Maven插件配置maven-dependency-plugin和maven-surefire-plugin的示例,其中maven-dependency-plugin在package阶段执行复制依赖文件的任务,maven-surefire-plugin在test阶段执行单元测试

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值