maven项目中pom文件的配置

pom文件是通过在文件中定义jar包版本和依赖,从maven库或中央仓库便捷的引用和使用jar文件。

pom文件的模版

<project xmlns="http://maven.apache.org/POM/4.0.0"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion>

<groupId>com.yanjx</groupId>
<artifactId>demotestspring</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>demotestspring Maven Webapp</name>

<url>http://maven.apache.org</url>

<dependencies>
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
  </dependency>
</dependencies>


<build>
    <finalName>demotestspring</finalName>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>${compiler.plugin.version}</version>
            <configuration>
                <encoding>utf-8</encoding>
                <source>${java.version}</source>
                <target>${java.version}</target>
            </configuration>
        </plugin>
    </plugins>
</build>
</project>

dependencies设置

一个jar包,就是dependencies节点中的一个dependency的节点。

其中,节点的<groupId> 、<artifactId>、<version>这三个元素定义了一个项目基本的坐标,在maven项目中,任何的jar、pom或者war都是基于这些基本的坐标进行区分的。

1、<groupId>是项目或组织的唯一标志,并且配置时生成的路径也是由此生成,比如:com.taobao.supermarket,公司是taobao,有一个项目为supermarket。
2、<artifactId>定义了在当前maven项目组中的唯一ID,这个supermarket项目的artifactId为supermarket。
3、<version>代表引用包的版本。
4、<scope>对Junit的依赖规定了一个范围。

scope=test:表明Junit只在测试编译和测试运行阶段可用;
scope=compile:表示默认范围,如果依赖声明中没有提供一个范围,那么该依赖的范围就是编译范围;
scope=provided:如果你的开发过程只有在编译和测试时需要一个类库,而该类库在运行的时候由容器提供,那么你就需要使用已提供范围的依赖,如servlet-api。

以junit为例,具体要引用哪个版本的JUnit,在version节点配置,scope节点配置一般情况是test,因为junit主要用于测试阶段,但是我是专门用于测试的项目,测试文件都放在了java目录下,所以我的scope节点配置成了compile。

有了这段dependency,maven就能够自动下载Junit-4.12.jar。

build设置

主要用于编译设置,一般包含两种标签:resource和plugins,前者用于排除或包含某些资源文件,后者用来设置插件。

    原文作者:时光不说话
    原文地址: https://www.jianshu.com/p/51ca763079ff
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞