springboot pom文件标签说明

1. parent标签

指向父项目,标签内包括:

  • groupId, 被继承父项目的全球唯一标识
  • artifactId, 被继承父项目的构件标识
  • version,被继承父项目的版本
  • relativePath,父项目pom文件的相对路径,默认值 …/pom.xml,根目录下的pom文件,先从当前项目路径查找,找不到去本地仓,然后远程仓

示例:

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

2. modelVersion标签

声明遵从哪个pom文件的模型版本
示例:

<modelVersion>4.0.0</modelVersion>

3. groupId、artifactId、version、name、url、description标签

这些标签依次为项目全球唯一标识符、构件标识符、版本号、名称、项目主页的URL(可不写)、项目描述
示例:

<groupId>com.chengxy</groupId>
<artifactId>single</artifactId>
<version>0.0.1-SNAPSHOT</version>

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

4. properties标签

properties可以自定义属性值,这些值可以通过 ${ } 用到pom文件内的任何地方,一般用来管理版本。示例:

<properties>
        <java.version>1.8</java.version>
</properties>

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
        <source>${java.version}</source>
        <target>${java.version}</target>
    </configuration>
</plugin>

5. packaging标签

定义项目打包类型,值有jar、war、ear、pom。一般父工程用pom,子工程用jar。示例:

<packaging>jar</packaging>  

6. modules标签

子模块,点击会进入到子模块的pom文件

<modules>
    <module>base</module>
    <module>main</module>
</modules>

7. dependencyManagement和dependencies标签

dependencies标签会自动引入标签内的全部依赖,并且所有继承该项目的子项目都会默认继承标签内的依赖
dependencyManagement标签只声明依赖但不引入,也就是说如果继承该项目的子项目中没有声明标签内的依赖,是不会继承这个依赖的;但是如果在子项目中写了该依赖,却没有指定版本,将从父项目中继承该项;如果子项目中写了该依赖,也指定了版本,就会使用子项目中的版本依赖

dependencyManagement示例:
父pom文件:

 <dependencyManagement>
        <dependencies>
            <!--数据库驱动-->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql-connector-java.version}</version>
            </dependency>
         </dependencies>
</dependencyManagement>

子pom文件:

 <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
    </dependencies>

8. build标签(project build全局配置,包含plugins标签、resources标签)

此处的build标签指的是全局配置(project build),包括:

  • defaultGoal标签:项目build时,如果没有指定目标,将使用的默认值
  • directory:build之后的文件存放目录,默认为 ${basedir}/target
  • finalName:目标文件名称,默认为 ${artifactId} - ${version}
<build>
    <finalName>${project.artifactId}</finalName>
</build>
  • resources:包含很多个resource组合
  • resource:描述与项目关联的资源文件的位置和配置等
  • testResources:类似resource,只不过在test时使用

详细说下resources以下标签:

  • resource:单个资源
  • directory:定义要扫描的目录

读取全部文件

<build>
	<resources>
		 <resource>
                <directory>src/main/webapp</directory>
         </resource>
    </resources>
</build>
  • filtering:是否开启替换,比如文件里有${ }时如果将此标签设置为ture,项目会自动把真实值覆盖,如果为false,将不替换引用值。
<build>
	<resources>
		 <resource>
                <directory>src/main/webapp</directory>
                <filtering>true</filtering>
         </resource>
    </resources>
</build>
  • includes:仅读取指定的文件或文件夹的内容
<build>
	<resources>
         <resource>
			<directory>src/main/resources</directory>
			<filtering>false</filtering>
			<includes>
				<include>config/dubboSource/*.xml</include>
			</includes>
		 </resource>
    </resources>
</build>
  • excludes:除了指定的文件或文件夹的内容,其他都读取
<build>
	<resources>
         <resource>
			<directory>src/main/resources</directory>
			<filtering>true</filtering>
			<excludes>
				<exclude>config/dubboSource/*.xml</include>
			</excludes>
		 </resource>
    </resources>
</build>
  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值