一、依赖管理
依赖范围:使用scope表示依赖范围。
依赖范围表示:这个依赖(jar和里面类)在项目构建的哪个阶段起作用。
依赖范围scope:
compile:默认,参与构建项目的所有阶段
test:测试,在测试阶段使用,比如执行mvn test会使用junit。
provided:提供者。项目在部署到服务器时,不需要提供这个依赖的jar,而是由服务器这个依赖的jar包。
明显的是servlet和jsp依赖。
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!--servlet依赖-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
二、常用设置
1.properties它里面的配置。
<properties>
<maven.compiler.source>1.8</maven.compiler.source> 源码编译 jdk 版本
<maven.compiler.target>1.8</maven.compiler.target> 运行代码的 jdk 版本
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 项目构建使用的编码,避免中文乱码
<project.reporting.outputEncoding>UTF-8
</project.reporting.outputEncoding> 生成报告的编码
</properties>
2.全局变量
在properties定义标签,这个标签就是一个变量,标签的文本就是变量的值。
使用全局变量表示,多个依赖使用的版本号。
使用步骤:
1.在properties标签中,定义一个标签,指定版本的值。
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<!--自定义变量 -->
<spring.version>5.2.5.RELEASE</spring.version>
<junit.version>4.11</junit.version>
</properties>
2.使用全局变量
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-web -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
三、使用资源插件
处理的配置文件信息,maven默认处理配置文件
1.maven会把src/main/resources目录中的文件,拷贝到target、classes目录下。
2.maven只处理src/main/java目录中的.java文件,把这些java文件编译为class,拷贝到target/classes目录中。不处理其他文件。
<build>
<!-- 资源插件
告诉maven把src/main/java目录中的指定拓展名的文件拷贝到target/classes目录中。
-->
<resources>
<resource>
<directory>src/main/java</directory><!--所在的目录-->
<includes><!--包括目录下的.properties,.xml 文件都会扫描到-
->
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<!-- filtering 选项 false 不启用过滤器, *.property 已经起到过
滤的作用了 -->
<filtering>false</filtering>
</resource>
</resources>
</build>