Maven之依赖范围和常用设置

Maven依赖范围, 使用scope表示的。

  • scope的值有 compile, test, provided ,默认是compile
  • scope:表示依赖使用的范围,也就是在maven构建项目的那些阶段中起作用。
  • maven构建项目 编译, 测试 ,打包, 安装 ,部署过程(阶段)
  • junit的依赖范围是 test
<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.11</version>
  <scope>test</scope>
</dependency>

在这里插入图片描述

Maven 常用设置

全局变量

  • 在 Maven 的 pom.xml 文件中,<properties>用于定义全局变量,POM 中通过${property_name}的形式引用变量的值。
  • 定义全局变量:
<properties>
	<spring.version>4.3.10.RELEASE</spring.version>
</properties>
  • 引用全局变量:
<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-context</artifactId>
	<version>${spring.version}</version>
</dependency>
  • Maven 系统采用的变量:
<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>

指定资源位置

  • src/main/javasrc/test/java 这两个目录中的所有*.java 文件会分别在 comiletest-comiple 阶段被编译,编译结果分别放到了 target/classestarge/test-classes 目录中,但是这两个目录中的其他文件都会被忽略掉,如果需要把 src 目录下的文件包放到 target/classes 目录,作为输出的 jar 一部分。需要指定资源文件位置。以下内容放到<buid>标签中。
<build>
	<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>
posted @ 2021-01-22 10:37  兮动人  阅读(87)  评论(0编辑  收藏  举报