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小时内删除。
发表评论