springboot中的pom⽂件详解
1<?xml version="1.0" encoding="UTF-8"?>
2<project xmlns="/POM/4.0.0" xmlns:xsi="/2001/XMLSchema-instance"
3    xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd">
4
5    <!-- pom模型版本 -->
6    <modelVersion>4.0.0</modelVersion>
7
8    <!-- 项⽬信息 -->
9    <groupId>demo</groupId><!-- 项⽬唯⼀标识 -->
10    <artifactId>springboot</artifactId><!-- 项⽬名 -->
11    <version>0.0.1-SNAPSHOT</version><!-- 版本 -->
12    <packaging>jar</packaging><!-- 打包⽅式(pom,war,jar) -->
13
14    <name>springboot</name><!-- 项⽬的名称, Maven 产⽣的⽂档⽤ -->
15    <description>Demo project for Spring Boot</description><!-- 项⽬的描述, Maven 产⽣的⽂档⽤ -->
16
17    <!-- ⽗级项⽬ -->
18    <parent>
19        <groupId>org.springframework.boot</groupId>
20        <artifactId>spring-boot-starter-parent</artifactId>
21        <version>1.5.7.RELEASE</version>
22        <relativePath/> <!-- lookup parent from repository -->
23    </parent>
24
25    <!-- 属性设置 -->
26    <properties>
27        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><!-- 编译字符编码为utf-8 -->
28        &porting.outputEncoding>UTF-8</porting.outputEncoding><!-- 输出字符编码为UTF-8  -->
29        <java.version>1.8</java.version><!-- jdK版本 -->
30    </properties>
31
32    <!-- 依赖关系 -->
33    <dependencies>
34        <!-- 测试 -->
35        <dependency>
36            <groupId>org.springframework.boot</groupId>
37            <artifactId>spring-boot-starter-test</artifactId>
38            <scope>test</scope>
39        </dependency>
40        <!-- springmvc -->
41        <dependency>
42            <groupId>org.springframework.boot</groupId>
43            <artifactId>spring-boot-starter-web</artifactId>
44        </dependency>
45        <!-- jpa(持久层) -->
46        <dependency>
47            <groupId>org.springframework.boot</groupId>
48            <artifactId>spring-boot-starter-data-jpa</artifactId>
49        </dependency>
50        <!-- mysql(数据库) -->
51        <dependency>
52            <groupId>mysql</groupId>
53            <artifactId>mysql-connector-java</artifactId>
54            <scope>runtime</scope>
55        </dependency>
56    </dependencies>
57
58    <!-- 编译 -->
59    <build>
60        <!-- 插件 -->
61        <plugins>
62            <!-- maven插件 -->
62            <!-- maven插件 -->
63            <plugin>
64                <groupId>org.springframework.boot</groupId>
65                <artifactId>spring-boot-maven-plugin</artifactId>
66            </plugin>
67        </plugins>
68    </build>
69</project>
原⽂:
1、pom⽂件中有pom、jar、war三种打包⽅式,其中pom打包⽅式可以作为其他项⽬的maven依赖,构建maven项⽬时可⽤在⽗级⼯程或者聚合⼯程中,⽤来做jar包的版本控制。⽽jar打包⽅式则是⼀般springboot中普通⼯程常⽤的⽅式,是将整个⼯程打成jar包,⽅便其他⼯程做依赖或者进⾏部署。war打包⽅式则是javaweb常⽤的⼀种打包⽅式。
2、<groupId>是项⽬组织唯⼀的标识符,实际对应JAVA的包的结构,是main⽬录⾥java的⽬录结构。⽽<artifactId>是项⽬的唯⼀的标识符,实际对应项⽬的名称,就是项⽬根⽬录的名称。groupid和artifactId被统称为“坐标”是为了保证项⽬唯⼀性⽽提出的,如果你要把你项⽬弄到maven本地仓库去,你想要到你的项⽬就必须根据这两个id去查。
⼀般groupId分为多段,开头是域,⽐如org、com、cn等,接着是公司名称
3、<properties>中⼀般是⼀些版本控制参数,如果是个聚合⼯程或者⽗⼯程的话,这⾥通常会放置所有会⽤到的jar包的版本参数,这样⽅便⼦⼯程来继承使⽤,不需要在额外再写版本
4、<dependencyManagement>和<dependencies> 前者是应⽤在⽗⼯程中的,⽤来做jar包的版本控制,其中的依赖并不会⾃动注⼊,只是声明⽽已,同样⼦⼯程中也不会默认继承<dependencyManagement>中的依赖,需要单独的写出。后者中的依赖则是会⾃动注⼊,且会被⼦⼯程继承。同时,如果<dependencies>中的依赖没有标明版本,maven则会向⽗⼯程中去从<dependencyManagement>中查版本号,如果⽗⼯程中没有,则会报错。
maven打包本地jar包所以当⽗⼯程中已经有了<dependencyManagement>后,⼦⼯程中只需要在<dependencies>中写出依赖的<groupId>和<artifactId>,不需要声明版本,除⾮⼦⼯程中要使⽤和⽗⼯程中不同的版本号。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。