解析maven中pom.xml

2021/4/20 10:27:19

本文主要是介绍解析maven中pom.xml,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!


解析maven中pom.xml

  • 1.maven规定的目录结构
    • 3.maven中全局变量
    • 指定资源位置
    • 2. maven中的依赖


1.maven规定的目录结构

在这里插入图片描述
首先我们要知道在compile(编译)时,我们在main中写的文件,
maven只会把src/main/resources中文件会放到target/classes
(这里面是编译好的class文件)中去;

指定资源位置

如果有时我们需要使用src/main/java的一些非java文件,比如
.properties或者.xml时,就需要在pom,xml中进行配置,只需如下代码即可–>

<build><resources>  <resource><directory>src/main/java</directory><includes>  <include>**/*.properties</include>  <include>**/*.xml</include></includes><filtering>false</filtering>  </resource></resources>
  </build>

2. maven中的依赖

maven为我们大大方便了导入jar包的工作;比如我们要导入servlet,jsp相关的jar包,我们只需要如下即可

 <dependencies><dependency>  <groupId>junit</groupId>  <artifactId>junit</artifactId>  <version>4.11</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><!--    加入jsp的依赖(jar)--><dependency>  <groupId>javax.servlet.jsp</groupId>  <artifactId>jsp-api</artifactId>  <version>2.1</version>  <scope>provided</scope></dependency>

  </dependencies>

有关的<scope>标签的说明:
<scope>有三种取值,分别是provided,test,compile
这三种不同取值,代表我们引入的jar包,在maven周期中哪一步起作用;

比如

<dependency>  <groupId>junit</groupId>  <artifactId>junit</artifactId>  <version>4.11</version>  <scope>test</scope></dependency>

引入junit包,那么这个jar包就只会在maven周期中测试项目环节起作用;
compile会在编译,测试,打包,部署等环节中都起作用;
provided :表示此jar包由服务器提供,项目本身不需要带;只在编译和测试中起作用
在这里插入图片描述

3.maven中全局变量

当我们引入了多个jar包并且版本号相同时,如果把版本号写错,那么整个项目就会出错;
因此maven支持我们在pom.xml中自定义全局变量;
通过${全局变量名} 来引用变量的值

这些是maven默认的属性,

<!--  maven的属性设置-->
  <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>
  </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>4.3.10.RELEASE</spring.version>
  </properties>

然后下面如果引入的jar包时,就可以用${spring.version}来替换

<dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency>


这篇关于解析maven中pom.xml的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程