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/java
和src/test/java
这两个目录中的所有*.java
文件会分别在comile
和test-comiple
阶段被编译,编译结果分别放到了target/classes
和targe/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>
本文来自博客园,作者:兮动人,转载请注明原文链接:https://www.cnblogs.com/xdr630/p/15254788.html