展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

继承

  • 子模块中引入相同的依赖,如果版本不同,可能会版本冲突

  • 解决方案:父工程中统一管理依赖

# 父工程
<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>
  • 可以继承的资源

  • 聚合与继承

posted @ 2022-08-14 09:53  DogLeftover  阅读(7)  评论(0编辑  收藏  举报