Maven与pom.xml

Maven用来简化项目构建,采用不同的方式对项目构建进行抽象。
例如:源文件放在src/main/java下
配置文件放在src/main/resouces
编译好的文件放在target文件目录下。

Maven主要实现以下目标:
1,使项目构建变得容易。
2,同意项目构建方式。
3,提出一套项目开发实践。
4,包含不同环境项目的构建方式。
5,解决类库的依赖问题。

pom.xml是Maven的核心。
最简单的pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.example</groupId>
<artifactId>springbootdemo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>springbootdemo</name>
<description>Demo project for Spring Boot</description>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.4.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

pom通常有以下几种元素:
groupId:项目所属的组,公司或组织的名称,
artifactId:项目唯一标识 spring-boot-starter-web spring-boot-devtools
groupId和artifactId能唯一标识一个项目或者一个库,我们通常称之为项目坐标

packaging:项目的类型,常用的有jar和war两种,jar表示项目会打包成一个jar包,这是Spring Boot项目的默认使用方式。
version:项目的版本号
modleVersion:代表pom文件的Maven的版本
dependencies:这个元素下包含多个dependency用来声明项目的依赖,这是pom的最核心部分。
dependency:包含在dependencies中用来声明依赖
如下:

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>

scope:此类与项目的关系:默认是compile,编译和打包都需要此类
test:只在测试时使用此类
provided:编译阶段需要此类,而在打包阶段不需要此类
runtime:只在运行时需要。

猜你喜欢

转载自blog.csdn.net/liutaiyi8/article/details/81478349