继承
-
子模块中引入相同的依赖,如果版本不同,可能会版本冲突
-
解决方案:父工程中统一管理依赖
# 父工程
<dependencyManagement>
<!--具体的依赖-->
<dependencies>
<!--添加自己的工程模块依赖-->
<dependency>
<groupId>com.itheima</groupId>
<artifactId>ssm_pojo</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<!--例如需要spring环境-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<dependencies>
</dependencyManagement>
- 修改子模块
# 子模块未修改时
<modelVersion>4.0.0</modelVersion>
<groupId>com.itheima</groupId>
<artifactId>ssm_controller</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
# 修改后
<modelVersion>4.0.0</modelVersion>
<!--定义该工程的父工程-->
<parent>
<groupId>com.itheima</groupId>
<artifactId>ssm</artifactId>
<version>1.0-SNAPSHOT</version>
<!--填写父工程的pom文件-->
<relativePath>../ssm/pom.xml</relativePath>
</parent>
<!--groupId和version由于继承了父工程,所以可以不写-->
<artifactId>ssm_controller</artifactId>
<packaging>war</packaging>
- 之后在子模块中就可以直接使用依赖而不用写版本号了
<dependencies>
<!--使用其他模块-->
<dependency>
<groupId>com.itheima</groupId>
<artifactId>ssm_service</artifactId>
</dependency>
<!--springmvc环境-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
</dependency>
</dependencies>
- 插件也可以从父工程继承
# 父工程
<build>
<pluginManagement>
<!--设置插件-->
<plugins>
<!--具体的插件配置-->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<port>80</port>
<path>/</path>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
# 子模块
<build>
<!--设置插件-->
<plugins>
<!--具体的插件配置-->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
-
可以继承的资源
-
聚合与继承