Maven

get fimiliar with maven

Posted by lily on May 6, 2023

Maven 简介

Maven是一个项目管理工具,可以对Java项目进行构建、依赖管理。Maven是Apache下的一个开源项目,它的主要目标是提供一个易于使用的项目管理工具,能够帮助开发人员更好的管理项目的构建、报告和文档的编写。

maven的主要功能

maven构建项目指令

mvn spring-boot:run //运行springboot项目,其中springboot是通用命令

mvn clean install -DskipTests //跳过测试,其中—D 是参数传递

mvn clean package -Dmaven.test.skip=true //跳过测试打包

mvn dependency:tree -Dverbose=true //查看依赖树,依赖树展示了依赖之间,依赖的传递性,依赖的冲突等等

mvn dependency:analyze //分析依赖,查看哪些依赖没有被使用

springboot配置文件属性变量引用方式${}和@@用法及区别说明

配置文件属性变量引用${}和@@用法

${}和@@都是springboot引用属性变量的方式

具体区别与用法:

${}常用于pom.xml

和 src/main/resources/application.properties等默认配置文件的属性变量引用。

语法为:field_name=${field_value}

pom.xml示例:

${dubbo.version}

log.config.address=classpath:config/logback-spring.xml

logging.config=${log.config.address}

@@方式常用于引用springboot非默认配置文件

(即其他配置文件)中的变量,是springboot为替代${}属性占位符产生,原因是${}会被maven处理,所以引用非默认配置文件时起不到引用变量的作用。

语法为:field_name=@field_value@

例如:

local.properties, developmefJzzGVfdnt.properties, production.properties,当我们在src/main/resources/application.properties文件中引用src/main/resources/config/local.properties的属性变量时,就要使用@@方式

举例说明

分别在在yml文,txt文件,properties文件中使用@@方式和${}方式引用变量

# dev环境配置文件
    username: root
    password: @mysql.password@
# prod环境配置文件
    username: root
    password: ${mysql.password}
@mysql.password@
${mysql.password}
${mybatis.plus.version}
spring.datasource.password=${MYSQL_PASSWORD}
spring.datasource.hikari.password=@MYSQL_PASSWORD@

编译后的结果为:

# dev环境配置文件
    username: root
    password: 123456

# prod环境配置文件
    username: root
    password: ${mysql.password}
LWY-0212lwy
${mysql.password}
${mybatis.plus.version}
spring.datasource.password=${MYSQL_PASSWORD}
spring.datasource.hikari.password=@MYSQL_PASSWORD@

结果

  1. ${}方式引用变量,编译后无法在这三种文件中进行引用,只能在pom.xml
  2. @@方式引用变量,编译后yml与txt文件中进行引用
  3. 在properties文件中@@与${}都无法进行引用