<mirror>
<!-- 镜像的唯一标识,用来区分不同的mirror元素 -->
<id>nexus-aliyun</id>
<!-- 对哪个仓库进行镜像,简单来说替代哪个仓库 -->
<!-- 替代父级pom 的中央仓库,请求central这个仓库
就会请求阿里云这个 -->
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
maven 常用命令
mvn compile 编译
mvn clean 清理
mvn test 测试
mvn package 打包
mvn install 安装到本地仓库
web 整合tomcat 插件
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>80</port>
<path>/</path>
</configuration>
</plugin>
</plugins>
</build>
<optional>true</optional> 不会将依赖传递给父类
父类排除子类 指定包
<exclusions>
<exclusion>
<gorupId>log4j</gorupId>
<artufactId>log4j</artufacId>
<exclusion>
</exclusions>
scope 依赖范围
主程序范围内(mian 文件夹范围内)
测试程序范围内(test 文件夹范围内)
是否参与打包(package 指令范围内)
compile (默认范围 ) 主代码、测试代码、打包 (log4j)
test 测试代码 有效. (junit)
provided 主代码、测试代码 (servlet-api)
runtime 打包 (jdbc)
system
表示使用本地系统路径
下的jar包,需要和一个systemPath一起使用
![在这里插入图片描述](https://img-blog.csdnimg.cn/2af1c602b12943eaaa0303fb579ed5cc.png)
import 只能在pom文件的<dependencyManagement>中使用,从而引入其他的pom文件中引入依赖,如:在Spring boot 项目的POM文件中,我们可以通过在POM文件中继承 Spring-boot-starter-parent来引用Srping boot默认依赖的jar包,如下:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.BUILD-SNAPSHOT</version>
</parent>
但是,通过上面的parent继承的方法,只能继承一个 spring-boot-start-parent。实际开发中,用户很可能需要继承自己公司的标准parent配置,这个时候可以使用 scope=import 来实现多继承。代码如下
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-releasetrain</artifactId>
<version>Fowler-SR2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.0.1.BUILD-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
![在这里插入图片描述](https://img-blog.csdnimg.cn/f1df305bb93b4f1ea81a92b0ac78201c.png)
maven 的生命周期
分为三套
clean:项目清理的处理
default(或 build):项目部署的处理
site:项目站点文档创建的处理
maven 资源配置( 配置文件 想引用到pom 文件设置的参数)
<build>
.......
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>**/*.properties</exclude>
<exclude>**/*.xml</exclude>
</excludes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
<build>
.......
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
......
</build>
<!-- 上面的配置,解释如下:-->
<!--
将"src/main/java"目录下的所有的.properties和.xml文件进行打包,
并替换所有的.properties和.xml文件中的占位符。
-->
maven 多环境配置
<profiles>
<profile>
<!-- 开发环境 -->
<id>dev</id>
<properties>
<env>dev</env>
<activeByDefault>true</activeByDefault>
</properties>
</profile>
<profile>
<!-- 测试环境 -->
<id>test</id>
<properties>
<env>test</env>
</properties>
</profile>
<profile>
<!-- 发布环境 -->
<id>prod</id>
<properties>
<env>prod</env>
</properties>
</profile>
</profiles>
maven 跳过测试 三种方式
mvn clean -Dmaven.test.skip= ture
mvn clean install -DskipTests
这个会跳过测试编译,跳过执行测试用例
<plugin>
<groupId>org.apache.maven.plugin</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.1</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.5</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>