关键词搜索

源码搜索 ×
×

spring boot多模块项目中的pom.xml

发布2019-12-12浏览2833次

详情内容

spring boot项目中,多模块结构的话,每个模块都会有一个pom.xml(当然,这是采用了maven来进行依赖管理)。这些pom.xml的关系和内容究竟为何?有必要搞搞清楚。

首先,关系很分明,就是父子关系。最外层的是父级,每个模块里的是子级。子级可以继承父级里的各种设置和依赖。比如说,有些包如果所有模块都会用,就不妨放到父级pom.xml里。

其次是pom里的内容。有些标记不能不了解一下。

1、modelVersion

这个标签必须存在,而且它的值必须是4.0.0,这标志着我们现在使用的是maven2。刚开始的时候,顾名思义,我想当然地认为这是一个模块版本(其实model也不是模块的意思)。

2、groupId和artifactId

groupId和artifactId合起来作为当前项目的唯一标识,maven2最终会根据这两个值,决定项目发布到repo上时所处的位置。

3、version

这个才是项目或模块的版本号

4、dependencyManagement

依赖声明,主要是版本。做法是,在父pom这里声明依赖包的版本,子pom就不用再声明版本了,这样做的好处是比较好修改。修改版本的话,只需修改父pom一个地方就够了。

示例:

//父pom

	<properties>
		<java.version>1.8</java.version>
		<oracle.version>11.2.0.1.0</oracle.version>
		<mybatis.version>2.1.0</mybatis.version>
		<fastjson.version>1.2.60</fastjson.version>
	</properties>

    <!-- 依赖声明 -->
    <dependencyManagement>
        <dependencies>
			<dependency>
				<groupId>com.alibaba</groupId>
				<artifactId>fastjson</artifactId>
				<version>${fastjson.version}</version>
			</dependency>
			<dependency>
				<groupId>com.oracle</groupId>
				<artifactId>ojdbc6</artifactId>
				<version>${oracle.version}</version>
			</dependency>
			<dependency>
				<groupId>org.mybatis.spring.boot</groupId>
				<artifactId>mybatis-spring-boot-starter</artifactId>
				<version>${mybatis.version}</version>
			</dependency>
        </dependencies>
    </dependencyManagement>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

//子pom,可以注意到没有声明版本号,都采用父pom上的版本;如果子pom声明了版本,则以子pom为准。

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc6</artifactId>
        </dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

5、properties

看上去,就是定义版本号,见上例。

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载